如何仅显示唯一主题?

时间:2011-03-31 22:10:45

标签: ruby-on-rails ruby ruby-on-rails-3 unique

现在我在视频节目视图中有这个:

<% @video.topics.each do |topic| %>
  <%= topic.name %>
<% end %>

问题是,如果视频已与两个相同的主题相关联,则会显示该主题两次。我该如何解决这个问题,以便它只显示独特的主题?

2 个答案:

答案 0 :(得分:4)

虽然您可能应该在模型中进行一些验证以防止这种情况发生,但您可以在主题数组上调用#uniq

@video.topics.uniq.each do |topic|

答案 1 :(得分:0)

我认为您可以使用组按主题对结果进行分组。这可以使用find.group或Ruby group_by命令完成。我认为这应该适合你。