Как вы создали эту ассоциацию? - PullRequest
1 голос
/ 28 мая 2011

Я хочу, чтобы в «группе» было много членов.У меня уже есть пользователь и модель профиля, и если пользователь идентифицирует себя как «группу», я хочу, чтобы он мог перечислять своих членов.Поэтому я подумываю разрешить профилю has_many :members, :class_name => 'User', чтобы «группа» могла выбирать существующих пользователей.Тем не менее, я также хочу, чтобы группа членов списка, которые не являются существующими пользователями.Как бы я создал эту ассоциацию?Я делаю это правильно?

Ответы [ 2 ]

0 голосов
/ 28 мая 2011

Попробуйте использовать эту лямбду в вашей пользовательской модели:

named_scope :not_members, lambda { |profile_id| where("id NOT IN (?)", 
                                   User.where( :profile_id => profile_id ).map(&:id) ) }

позже в вашем коде:

@not_members = User.not_members(some_profile_id)

PS: это не проверено

0 голосов
/ 28 мая 2011

«разрешить группе список участников, которые не являются существующими пользователями» - вы имеете в виду «разрешить группе список пользователей , которые не существуют участники »?

Если так, то этот ответ, который я дал некоторое время назад, может помочь: Как найти все предметы, не связанные с другой моделью - Rails 3

...