1
class Team
  include Mongoid::Document
  include Mongoid::Timestamps
  field :name,              :type => String, :default => "My New Team"
  validates_presence_of :name
  has_and_belongs_to_many :users

end

在我的 show.haml for Team 中,我正在尝试:

 - @team[:users].each do |user|
        %tr
          %td= link_to user.name, user
          %td= user.email

但问题是 Mongo 将用户引用存储为 user_ids。所以

  • @team[:user_ids].each 做 |user|

但是现在我必须为每个用户执行一个查询......在我这样做之前,我只是想知道是否有另一种方法来遍历用户?我正在考虑在控制器中放置一个名为 @user_objects 的变量,但不确定如何在不循环所有 user_id 并执行 find() 调用的情况下生成它。

4

1 回答 1

2

尝试这个

- @team.users.each do |user|
    %tr
      %td= link_to user.name, user
      %td= user.email

它会工作得很好。

于 2012-10-30T05:05:52.373 回答