2

Carrierwave を使用して画像をアップロードしています。現在、アプリは Heroku にあります。新しいコミットをherokuにプッシュしない限り、画像は正常にアップロードされます。プッシュの前にアップロードした画像は、新しいコミットが入ると消去されているようです。この問題の背後にある理由と修正方法を知っている人はいますか?

更新: Amazon EC3 のようなストレージ サーバーを使用せずに、Heroku でcarrierwave を使用する と、問題が発生します。Heroku は、デフォルトで Carrierwave がアップロードするパブリック フォルダにファイルを保存しません。

app/uploaders/image_uploader.rb:

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

そして、各コミット後に画像ファイルを保持するために、これを tmp フォルダーのどこかに変更する必要があります。に変えてみました

"#{Rails.root}/tmp/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"

しかし、うまくいきません。ローカル環境を確認したところ、イメージは適切な場所に正常に保存されました。したがって、ルートを正しい場所に設定するだけでうまくいくと思います。誰かがこれで私を助けてくれますか?

4

1 に答える 1