У меня есть пользователи, которые являются членами групп через таблицу присоединения к членству, и один из атрибутов этой таблицы присоединения - «администратор». Я пытаюсь выполнить проверку в представлении участника группы, просматривая каждого участника, чтобы узнать, являются ли они администратором.
В представлении я пробовал следующее:
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