【问题标题】:Rails: Each loop that only shows unique associated recordsRails:每个循环只显示唯一的关联记录
【发布时间】:2013-10-26 17:08:36
【问题描述】:

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

在视图中:

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

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

  <% end %>

在更新模型中

belongs_to :user

belongs_to :game

在游戏模型中

has_many :users

has_many :更新

在用户模型中

has_many :更新

【问题讨论】:

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


    【解决方案1】:

    尝试修改喜欢 current_user.updates.uniq

    【讨论】:

      【解决方案2】:

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

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

      这将为您提供每个游戏 ID 的最新条目。

      那么在你看来

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

      【讨论】:

        猜你喜欢
        • 2021-10-14
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多