Rails,输出用户列表&指定他们是否被许可

时间:2010-10-17 17:49:07

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

这就是我今天所拥有的: 我输出了一个@users

列表

我需要做的是输出一个用户列表,并说明是否将它们分配给当前项目。

我可以遍历每个用户并检查数据库,但这将是大量的数据库点击,另外10次点击显示10个用户。

我的问题是,有没有一种智能,更有效的铁路方式来做到这一点?思路: 也许我加载项目当前所有用户的列表,并在通过用户循环输出时检查该数组?或者其他一些方法?

有兴趣听取您的建议,如果您不介意使用一小段代码片段来启动我。

谢谢!

更新 - 添加模型

User model
belongs_to :instance
has_many :permissions
has_many :projects, :through => :permissions

Permissions Model:
belongs_to :user 
belongs_to :project 
belongs_to :role

Project Model:
has_many :permissions
has_many :users, :through => :permissions

我目前使用的查询是:

@users = find(:all, :joins => :instance, :select => 'users.*, instances.domain', :conditions => ['fname LIKE ? or lname LIKE ?', "%#{search}%", "%#{search}%"])

我想知道的是,对于正在显示的用户。它们目前是URL中project_id的成员吗?如果没有,请显示“添加成员”按钮。

1 个答案:

答案 0 :(得分:1)

Use :include(请查看 4.1.2.7:include

 User.all( :include =>:projects )