Rails:每个循环只显示唯一的关联记录

时间:2013-10-18 00:49:57

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

我有一种情况,我希望显示每个循环的更新'。每次更新都有一个与之相关的游戏(game_id)。有时候有些更新与其他更新具有相同的游戏。如何修改循环以使其仅显示唯一更新? (在下面的示例代码中,我不想两次显示相同的游戏缩略图)

在视图中:

  <% current_user.updates.each do |update| %>

     <img src="<%= update.game.thumbnail %>" />

  <% end %>

在更新模型中

belongs_to:user

belongs_to:游戏

在游戏模型中

has_many:用户

has_many:updates

在用户模型中

has_many:updates

2 个答案:

答案 0 :(得分:1)

可能有六种方法可以做到这一点。我可能会在更新模型上使用范围,例如:

scope :most_recent, group(:game_id).order('created_at ASC')

这将为您提供每个游戏ID的最新日期输入。

然后在你看来

<% current_user.updates.most_recent.each do |update| %>

答案 1 :(得分:0)

尝试修改之类的       current_user.updates.uniq