我在railcast上使用了关于carrierwave的非常好的教程来上传服务器上的图片,但是即使它认为它在开发中工作得很好,在生产中也不再适用了。
在我的上传器中,我有这个:
def store_dir
"images/profile/#{model.id}"
end
图像已正确上传并且存在但我在调用图像时得到404 ...
任何想法都很受欢迎。
答案 0 :(得分:1)
如果您使用像Heroku这样的托管服务,您将无法直接将生产中的carrierwave文件直接上传到您的应用中,并期望它留在那里(它可能会暂时显示但不会很长时间)。您需要使用图像托管服务(如aws,S3等)来集成和存储"你的文件。
此外,store_dir应该看起来更像这样的东西
def store_dir
"uploads/#{Rails.env}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
不确定这是你的问题,但希望它有所帮助!