即使在rails服务器上,图像也是404

时间:2015-08-11 18:03:54

标签: ruby-on-rails image nginx capistrano carrierwave

我在railcast上使用了关于carrierwave的非常好的教程来上传服务器上的图片,但是即使它认为它在开发中工作得很好,在生产中也不再适用了。

在我的上传器中,我有这个:

def store_dir
  "images/profile/#{model.id}"
end

图像已正确上传并且存在但我在调用图像时得到404 ...

任何想法都很受欢迎。

1 个答案:

答案 0 :(得分:1)

如果您使用像Heroku这样的托管服务,您将无法直接将生产中的carrierwave文件直接上传到您的应用中,并期望它留在那里(它可能会暂时显示但不会很长时间)。您需要使用图像托管服务(如aws,S3等)来集成和存储"你的文件。

此外,store_dir应该看起来更像这样的东西

def store_dir
  "uploads/#{Rails.env}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

不确定这是你的问题,但希望它有所帮助!