CarrierWave文件未保存在生产中

时间:2017-04-10 20:09:04

标签: ruby-on-rails api carrierwave production-environment

我使用的是Rails 4.2.6和CarrierWave 1.0.0。我有一个像这样的上传器设置:

class LetterUploader < CarrierWave::Uploader::Base
    storage :file
    def store_dir
        "#{Rails.root}/public/uploads/#{model.id}"
    end
end

在开发过程中,文件保存得很好,在/ public / uploads / etc ...中,但在生产中,它没有保存。它正在缓存,/ tmp目录中有一个文件,但实际上没有保存。我一直在找一个解决方案,我似乎无法找到一个解决方案。我的直觉是,它是我的生产服务器中的文件夹权限问题,但我确保公用文件夹递归地属于我的用户名,这没有帮助。我甚至将权限设置为777,但无济于事。我可以根据要求提供更多信息(在控制器或其他任何地方),任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

问题不在于CarrierWave,而是因为上传的文件在存储附加的模型之前不会存储。我重新考虑了因为模型保存,将文件发送到另一个api,然后更新原始模型,它可以工作!