我通过成员资格联接表获得了属于组成员的用户,并且该联接表的属性之一是“管理员”。我正在尝试在组的成员视图中进行检查,遍历每个成员以查看他们是否是管理员。
在视图中,我尝试了以下操作:
for user in @group.users
if user.administrator?
...DO STUFF
end
end
我也在控制器中试过这个:
@administrators = @group.memberships.find(:all, :conditions => ["administrator = 1"])
但没有运气。有什么想法吗?
更新 - 如下所示,将一个方法放入用户模型中:
def is_administrator_of(group_id)
Membership.find(:first, :conditions => ['user_id = ? AND group_id = ? AND administrator = ?', self[:id], group_id, true])
end