我有一个名为 imgs 的表格, album_id 列引用相册表。如何按album_id列出图像?像这样:
<ul>
<p>Album1</p>
<li>Image1 of Album1</li>
<li>Image2 of Album1</li>
<li>Image3 of Album1</li>
</ul>
<ul>
<p>Album2</p>
<li>Image1 of Album2</li>
<li>Image2 of Album2</li>
<li>Image3 of Album2</li>
</ul>
答案 0 :(得分:0)
试试这个
<% @albums.each do |album| %>
<ul>
<p><%= album.name %></p>
<% album.imgs.each do |img| %>
<li><%= image_tag img.image %></li>
<% end %>
</ul>
<% end %>
答案 1 :(得分:0)
您可以执行以下操作:
<% grouped_images = @images.group_by(&:album) %>
<% grouped_images.each do |album, images| %>
<ul>
<p><%= album.name %></p>
<% images.each do |image| %>
<li><%= image.name %></li>
<% end %>
</ul>
<% end %>
此代码会根据他们的相册对您的@images
进行分组。
我使用了group_by的简短版本,它通常需要一个块,长版本:
grouped_images = @images.group_by { |image| image.album }
# is exactly the same as
grouped_images = @images.group_by(&:album)