【发布时间】:2014-09-30 13:36:48
【问题描述】:
我已在公共文件夹下使用carrierwave 上传图像。 出于安全考虑,我将把文件夹改到根目录下。
虽然我参考了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
我创建了 \config\initializers\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
我使用以下视图来显示图像。
\views\articles\ _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 中指定代码,我们将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 carrierwave