前提・実現したいこと
RailsでActiveStorageを使い、amzonのS3に画像投稿ができる機能を実装しています。
S3に画像データをアップロードできることは確認したものの、以下のメッセージが表示され、ビューに表示することができません。
定義していると思うのですが、原因がわからないためご教示いただけますでしょうか。
発生している問題・エラーメッセージ
NoMethodError in Admins#index Showing /home/ec2-user/environment/@@@/app/views/admins/index.html.erb where line #12 raised: undefined method `image' for #<Shop::ActiveRecord_Relation:0x00007f8499bb4750> <%= link_to '@@@', admins_path %> <%= link_to '@@@', admins_path %> <% if @shops.image.attached? %> <%= image_tag @shops.image %> <% end %>
参考のソースコード情報
- コントローラー
def index @shops = Shop.all end
- モデル
class Shop < ApplicationRecord has_secure_password has_one_attached :image validates :shop_name, presence: true validates :shop_address, presence: true validates :shop_tel, presence: true validates :shop_mail, presence: true end
バージョン
- ruby
ruby 2.5.3p105
- rails
Rails 5.2.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。