与えられた棚から本を選ぶ適切な方法は何ですか?
class Book < ActiveRecord::Base
belongs_to :shelf
end
class Shelf < ActiveRecord::Base
has_many :books
end
を使用Book.where(:shelf => shelf)
すると、のような例外が発生しますno such column: book.shelf
。私はそれを逆にすることができることを知っていshelf.books
ますが、複数のオブジェクトでフィルタリングする必要がある場合、これは機能しません。私が見つけたのは、クエリは次のように見えるはずですBooks.where(:shelf_id => shelf.id)
が、これはあまり乾燥していないか、少しでもかっこいいとは思えません。