私のアプリでは、ユーザーはロゴをアップロードしてプロファイル ページに表示することができます (Carrierwave + s3 を使用)。
私のローカルアプリでは、画像のパスは次のとおりです: https://s3.amazonaws.com/iemarkt/uploads/user/logo/squaredeye_336x336.jpg
しかし、Heroku でデプロイされたアプリでは、イメージ パスは「/assets/」であり、エラーが発生し、ユーザーがイメージをアップロードできません。
Heroku アプリで Carrierwave + s3 を使用してファイルをアップロードしようとすると、「申し訳ありませんが、問題が発生しました。」というエラーが表示されます。ログを調べると、次のエラーが表示されます。
2012-08-20T21:18:56+00:00 app[web.1]: Started GET "/assets/" for 24.90.124.181 at 2012-08-20 21:18:56 +00002012-08-20T21:18:56+00:00 app[web.1]:2012-08-20T21:18:56+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/assets"):
私の店_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/"
production.rb でこの行のコメントを外しました (Heroku は Nginx を使用していると読みましたが、Nginx を機能させるために他に何かする必要があるかどうかはわかりません)。
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
パスが自分の s3 アカウントにつながらない理由が本当にわかりません。
これが私のアプリです