В моих моделях Rails у меня есть:
class Song < ActiveRecord::Base
has_many :flags
has_many :accounts, :through => :flags
end
class Account < ActiveRecord::Base
has_many :flags
has_many :songs, :through => :flags
end
class Flag < ActiveRecord::Base
belongs_to :song
belongs_to :account
end
Я ищу способ создания области действия в модели Song, которая выбирает песни, НЕ связанные с данной учетной записью.
Я пробовал:
Song.joins(:accounts).where('account_id != ?', @an_account)
, но он возвращает пустой набор.Это может быть потому, что есть песни, к которым не привязаны аккаунты?Я не уверен, но действительно борюсь с этим.
Обновление
Набор результатов, который я ищу, включает в себя песни, с которыми не связана данная учетная запись.Это включает в себя песни, которые не имеют флагов.
Спасибо за внимание.