我在Rails模型中有以下范围。哪里不IN()加入?
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
你能不能也发表您的'favourite'模式? –
为什么你不建立一个关系has_many而不是那个连接? –
@ismaelga @PaulSimpson我在OP中加入了我的'Favourite'模型。 'Favourite'需要是'User'和'Suggestion'之间的连接模型,因为用户可以收藏属于其他用户的建议。 –