named_scope в рельсах 2
У меня есть две модели.. Member и MemberMeeting.
Пользователь has_many member_meetings.
Я написал named_scope в модели Member так, чтобы она выполняла операцию соединения с member_meetings.
Теперь самая сложная часть,
У меня есть логическая колонка XYZ. Мне нужно проверить количество (xyz=true) > 1 внутри named_scope
2 ответа
Решение
Вы уверены, что хотите масштаб для этого? Я предполагаю, что вы хотите получить список всех участников, которые проводят более одной встречи, где xyz верно, верно? В этом случае, что-то вроде этого должно сделать:
members = Member.include(:member_meetings)
members.select{ |m| m.member_meetings.select(&:xyz).size > 1 }
Добавление этого named_scope в Member должно сделать это:
named_scope :my_scope, :include => :member_meetings, :conditions => { 'member_meetings.xyz' => true }