メンバーシップ結合テーブルを介してグループのメンバーであるユーザーがいます。その結合テーブルの属性の1つは「管理者」です。グループのメンバービュー内でチェックを実行し、各メンバーをループして、それらが管理者であるかどうかを確認しようとしています。
ビューで私は次のことを試みました:
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