前提・実現したいこと
現在、本番環境でActiveStorageを用いてS3に画像をアップロードするように設定したところ画像が上手く表示されなく困っています。
ただ、画像は表示されませんが、画像の投稿はできる状態です。
画像が投稿できることからアクセスキーやシークレットキーの設定は問題ないと考えコンソールを確認したところ以下のエラーが発生していました。また、IAM Userでは管理者権限を持っているUserを設定しました。
ご確認のほどよろしくお願い致します。
発生している問題・エラーメッセージ
GET 下のpath 500 https://xxxxxx.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--7c84fe0e4db0d5f145bfb6794cf7c30d6f3744a9/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9UY21WemFYcGxYM1J2WDJacGJHeGJCMmxCYVVFPSIsImV4cCI6bnVsbCwicHVyIjoidmFyaWF0aW9uIn19--0ae0535ffe18e342a50208e47825434ab16f3deb/dog-5723334_640.jpg
該当のソースコード
_profile_avatar.html.erb
ruby
1<% if current_user.profile && current_user.profile.avatar.attached? %> 2 <%= image_tag current_user.profile.avatar.variant(resize_to_fill: [a, b])%> 3<% else %> 4 <%= image_tag 'xxxx.jpg'%> 5<% end %>
試したこと
・まずS3のバケットポリシーの設定を変更してみましたが、管理者権限を持つユーザーでのアクセスなので関係ないことに気付きました。また、画像のs3への投稿はできていることからもそこらへんの設定は問題ないと考えました。
・image_tagで生成されるパスがS3へのパスでないことがわかったのでimage_tag ulr_for(...)を試してみましたが、上手くいきませんでした。
<% if current_user.profile && current_user.profile.avatar.attached? %> <%= image_tag url_for(current_user.profile.avatar.variant(resize_to_fill: [a, b]))%> <% else %> <%= image_tag 'xxxx.jpg'%> <% end %>
本番環境でS3の設定は難しいものなのでしょうか。もっと基本的なことが抜けているだけなのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。