我已经在公用文件夹下载入carrierwave的图像。 出于安全原因,我要将文件夹更改为根目录下。Rails4:如何将carrierwave上传的图片存储在私人文件夹中?
Althogh我提到的职位How to: Secure Upload创造carrierwave.rb,我不知道该怎么写由carrierwave上传的路径。
如何在私人文件夹下显示图像?
image_uploader.rb
class ImageUploaader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
我创建\设置\初始化\ carrierwave.rb
CarrierWave.configure do |config|
config.permissions = 0600
config.directory_permissions = 0700
config.root = Rails.root
end
我还创建images_controller.rb
class ImagesController < ApplicationController
#I tried some, but doesn't work
end
我已经使用下面的视图显示图像。
\意见\文章\ _article.html.erb
<% article.photos.each do |photo| %>
<%= image_tag(photo.image_url(:thumb).to_s, class: :thumb) if photo.image? %>
<% end %>
,如果你能在routes.rb
,images_controller.rb
和_article.html.erb
指定代码将不胜感激。
谢谢你的回答,@艺术。 我可以将图像存储在一个文件夹中。我想知道如何在一个文件夹中显示图像。 如果您可以更具体地显示图像,我们将不胜感激。 – SamuraiBlue 2014-10-02 12:19:23
仅供参考,[cancancan](https://github.com/CanCanCommunity/cancancan) – venkatvb 2016-01-17 15:34:35