Book モデル、User モデル、Read モデルがあります。Book は多くの Read を持つことができ、User は多くの Read を持つことができます。基本的に、Read には、特定の User が読んだすべての本があります。
ここで、特定のユーザーのすべての未読本のリストを表示したいと考えています。ユーザーがログインしていて current_user オブジェクトがあると仮定すると、そのようなリストを取得するにはどうすればよいでしょうか?
私は現在これを持っています:
@unread_books = Book.find(:all, include: :reads, conditions: ["books.id NOT IN (?)", current_user.read_ids])
しかし、これは書籍 ID を読み取り ID にマップします。次のようになります。
conditions: ["books.id NOT IN (?)", current_user.read_book_ids]
しかし、これはエラーになります:
undefined method `read_book_ids' for #<User:0x007fb21782b3f8>
では、ブック ID を Read の外部キーのブック ID にマップするにはどうすればよいでしょうか。