让我们说我想组织一些书籍并为每位作者献上一个书架,但每位作者都有很多书。我想创建一个连接表,让我可以访问属于书架的作者和该书架上的第一本书。为了让您了解它是如何设置的:
class Shelf < ActiveRecord::Base
belongs_to :author
end
class Author < ActiveRecord::Base
belongs_to :shelf
has_many :books
end
class Book < ActiveRecord::Base
belongs_to :author
end
目前,我有这样的事情:Shelf.includes(author: :books)
,但这将包括作者所拥有的所有书籍。
当我在每个对象上调用books
时,我希望它能够吐出一个书对象(第一本书)。
我已经读过我应该使用合并,例如Shelf.includes(author: :books).merge(Book.first)
,但没有运气。任何帮助表示赞赏!