我想根据Posts
列出Section
。我写了给定的代码:
查看
<div class="right-links">
<% @posts.each do |p| %>
<h3 class="title">
<%= p.section.title %>
</h3>
<p><%= link_to p.title, p %></p>
<% end %>
</div>
控制器
@posts = Post.limit(15)
显然这还不够,它所做的只是显示每个帖子的章节标题,而这并不是我想要的。是否有一些教程或者你们可以帮助我如何仅显示section title
一次,然后显示其下的所有帖子?
谢谢。
答案 0 :(得分:2)
您可以使用控制器中的group_by
方法执行此操作。
@sections_posts = Post.limit(15).group_by(&:section_id)
然后在视图中显示
<div class="right-links">
<% @sections_posts.each do |section_id, posts| %>
<h2 class="title">
<%= Section.find(section_id).title %>
</h2>
<% posts.each do |post| %>
<p><%= link_to post.title, post %></p>
<% end %>
<% end %>
</div>
那应该为你做。