我on Rails的工作4项目,我需要存储由用户直接uploadaded一些图片,我必须能够创造一个图像画廊,一个用户只能查看自己上传。问题显示图片4
我上传的文件与CArrierWave宝石,而且它做精。我将默认上传目录(公共文件夹)更改为我的自定义文件夹(/ uploads/.....),但我认为我无法显示图像导致“上传”文件夹可以不能直接访问,但我不想让公共文件夹中的图像因为我不希望它们被任何人自由访问。我的观点的
代码
<div>
<%= @photos.each do |p| %>
<div>
<%= image_tag (p.path_url) %>
</div>
<% end %>
</div>
我CarrierWave上传类:
class PhotoupUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"../app/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.album_id}"
end
和照片模式:
class Photo < ActiveRecord::Base
belongs_to :album
attr_accessible :legend, :path
mount_uploader :path, PhotoupUploader
end
我该如何继续?
感谢
这将是艰难的如果你不向我们展示一些代码,可以帮助你。另外,你在哪里上传照片(即Amazon S3)? – diasks2
你真的试过检索图像吗?假设你只是覆盖'store_dir'方法来指定你的自定义文件夹,你就可以正常使用'retrieve_from_store'或'url'方法。 – 2014-03-29 17:08:41
@ diasks2这更多的是一种概念上的问题,不是一个代码问题.. – Pavarine