Jest model User. Ustawiona relacja has_many :domains.
user.domains daje mi wszystkie domains z nim skojarzone.
A jak prosto znaleźć wszystkie pozostałe domains nie skojarzone z userem.
user = User.find 1
no_user_domains = Domain.find(:all).map{|d| ! user.domain_ids.include?(d.id) }
Czy nie dałoby się tego zrobić samym zapytaniem SQL? Bez zaciąganie wszystkich rekordów?
[quote=lsbb]no_user_domains = Domain.find(:all, user.domain_ids.empty? ? {} : {:conditions => ["id not in (?)", user.domain_ids]})
[/quote]
A może łatwiej: