開発環境では問題なく表示されていたのですが、vpsサーバーにデプロイ後の本番環境で新規投稿画像が表示されずに困っています。
考えられる原因としまして、
/var/www/app_name/releases/20210826083827/public/uploads
に画像が保存され、デプロイの度に、新しく
/var/www/app_name/releases/20210828114651/public/uploads
が作成され、
画像が保存されていない20210828114651/public/uploads
の中のファイルを参照してしまう事によって、
画像が表示されていない状況になっています。
■改善の為に行った事■
・.gitignoreに/public/uploads
を追加しgit rm -r --cached public/uploads
でgitのリモートリポジトリから削除
・deploy.rbを修正
html
1set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads')
/var/www/app_name/shared/public/uploads
にシンボリックリンクを作成し、デプロイの度に画像が更新されないよう修正したのですが、
再度デプロイを行っても画像が表示されずといった状況です。
画像を参照するパスは
/var/www/app_name/shared/public/uploads
に変更できていたようで、
/var/www/app_name/shared/public/uploads/user/image/1
に投稿した画像をコピペしたところ表示する事はできました。
画像のアップロードには【carrierwave】を使用しているのですが、本番環境での保存先を
/var/www/app_name/shared/public/uploads/user/image/id
にも保存されるようにするにはどのようにすればいいのでしょうか?
いろいろと調べたり、考えてみたのですが、分からずといった状況です。
image_uploaderの保存先は
html
1def store_dir 2 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 3end
となっています。
どの辺りの修正が必要の可能性がありますでしょうか?
あなたの回答
tips
プレビュー