Railsモデルには次のスコープがあります。
class Suggestion < ActiveRecord::Base
has_many :favourites
def self.favoured_by(user)
joins(:favourites).where(favourites: { user_id: user.id })
end
end
それは完璧に機能します。特定のユーザーが好んだすべての提案が返されます。
まったく好まれていない、または好まれているがこの特定のユーザーには好まれていないすべての提案を取得するにはどうすればよいですか?
def self.not_favoured_by(user)
# ...
end
私のFavourite
モデルは次のようになります。
class Favourite < ActiveRecord::Base
belongs_to :suggestion
belongs_to :user
end