Rails 条记录不在关联中

Rails records not in association

我正在寻找查找不属于用户的图书的正确方法...以下是关联:

书-

has_many :owns, :dependent => :destroy

用户 -

has_many :owns, :dependent => :destroy
has_many :owned_books, :through => :owns, source: :book, :dependent => :destroy

拥有 -

belongs_to :user
belongs_to :book

我有不同书名的图书浏览量(例如,Book.where(title => "Foo"),或 Book.where(title => "Bar"),我想添加一个过滤器,让用户只能看到他们看不到的具有该书名的书自己的。对我来说很明显这应该是书籍模型中的一个新关联,但我有点迷路。

如果你说的是排除用户拥有的那些:

Book.where.not(id: user.owned_book_ids)

您可以通过附加条件将附加条件链接到那里。