(图像属于邮政)Rails的:通过Carrierwave上传图片到Amazon S3仅适用于“编辑”
图像上传作品,但只有当我上传的帖子编辑图像。我想要在创建帖子时上传图片。
图片上传(“<%= f.file_field:image%>”)位于新帖子表单中,所以我猜测Carrierwave正在尝试在创建帖子之前将图片上传到指定路径,导致它不知道去哪里上传。
这里是ImageUploader文件:
class TrackImageUploader < CarrierWave::Uploader::Base
def cache_dir
"#{Rails.root}/tmp/uploads"
end
include CarrierWave::RMagick
#storage :file
#storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :featured do
process :resize_to_fill => [210, 145]
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
我猜测从上面的代码的store_dir负责在亚马逊S3中根据路径保存图像的。
我怎样才能让它在发布后上传图片,以便它可以获得Post.id?
你可以发布模型代码吗? – John
@John在这里你去:https://gist.github.com/2994293谢谢! – kibaekr
嗯,你可以试着在你的模型中使用AR回调来查看是否强制保存有助于任何事情。 http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html – John