現在作成中のアプリケーションにて、画像表示について表題のような挙動にしたかったのですが、解決まで時間がかかったので備忘録用に。
##状況
1つの店舗に対して複数の画像を投稿できる機能を追加しました。
トップページ、詳細ページどちらも投稿された画像が全て表示されています。
トップページでは店舗の外観画像のみ表示し、詳細ページでは店舗外観とその他画像が確認できるようにしたい。
以下解決前コード
<% store.images.each do |image| %>
<div class="messages">
<%= link_to image_tag( image, class: :card__img, size: '300x300'), store_path(store) %>
</div>
<% end %>
上記コードではstoreモデルが持っている画像を全件表示する、というコードになっていました。
削除後、下記コードに変更したところ解決しました。
とても単純でした。
<%= link_to image_tag( store.images[0], class: :card__img, size: '300x300'), store_path(store) %>
1つの店舗に対して1枚目に外観画像、2枚目に店内画像を保存しているので、1枚目の指定つまり添字で[0]を指定するだけで実現できました。