前提
ActionTextをArticleに関連づけて使用しています。
ruby
1class Article < ApplicationRecord 2 has_rich_text :content 3end
やりたいこと
ActionTextに関連づいた画像を一覧表示して、画像にArticleの詳細ページへのpathを指定したいです。
次のコードで一応実現できたのですが、もっとスマートな方法はないでしょうか?
controllers
1 def photo 2 # 関連付けされているBlobのみ取得 3 blob_ids = ActiveStorage::Attachment.pluck(:blob_id) 4 @blob = ActiveStorage::Blob.where(id: blob_ids ) 5 # Blobに対応したログのidを取得 6 attachment = ActiveStorage::Attachment.where(blob_id: @blob.ids) 7 @link = attachment.pluck(:record_id) 8 end
erb
1<div> 2 <% @blob.zip(@link).each do |img, link| %> 3 <%= link_to article_path(link) do %> 4 <%= image_tag img %> 5 <% end %> 6 <% end %> 7</div>
あなたの回答
tips
プレビュー