Ruby on rails 在RubyonRails中连接两个独立模型的中间模型

Ruby on rails 在RubyonRails中连接两个独立模型的中间模型,ruby-on-rails,model,many-to-many,Ruby On Rails,Model,Many To Many,我正在尝试在两个模型之间创建一个中间模型,我希望有一个多对多的关系。我正在创建一个非典型图书签出项目,有两个模型设置book和Person。我想设置一个中间模型BookCheckOut来跟踪过期和返回日期 提供我想要的问题的答案。我在模型生成方面的经验不足以及我对脚手架的依赖可能是造成我的问题的原因。我正在尝试确定如何不仅生成模型,而且生成一个与之配套的工作数据库迁移。我不是rails大师,但我知道有两种方法:有很多:通过和有很多。有一个体面的概述如何。我想您可能想使用has_many:thro

我正在尝试在两个模型之间创建一个中间模型,我希望有一个多对多的关系。我正在创建一个非典型图书签出项目,有两个模型设置bookPerson。我想设置一个中间模型BookCheckOut来跟踪过期和返回日期


提供我想要的问题的答案。我在模型生成方面的经验不足以及我对脚手架的依赖可能是造成我的问题的原因。我正在尝试确定如何不仅生成模型,而且生成一个与之配套的工作数据库迁移。

我不是rails大师,但我知道有两种方法:
有很多:通过
有很多
。有一个体面的概述如何。我想您可能想使用
has_many:through
,以便可以干净地访问联接表中的数据

要生成中间模型,请执行以下操作:

script/generate model checkouts person_id:int, book_id:int, checked_out:date, returned:date
在您的图书模型中,您会添加(Rails是否了解Person-->“People”?我猜是的):

在您的个人模型中,您将添加:

has_many :books, :through => :checkouts
has_many :checkouts, :dependent => true
belongs_to :person
belongs_to :book
在您的签出(对不起,我从您的示例中重命名了它)模型中,您将添加:

has_many :books, :through => :checkouts
has_many :checkouts, :dependent => true
belongs_to :person
belongs_to :book

对我的例子要小心——我是凭记忆来的

很棒的文章,它当然解释了选项。也就是说,如果我选择JoinModel:RichAssociations,我该如何生成模型和数据库迁移?我是否只生成一个包含book和person表ID的模型。将“属于”:XXXXX添加到我的中间模型中,将“有多个:XXXXX”添加到其他模型中?添加:dependent=>符号时,我遇到了错误。我删除了它,并能够让应用程序工作。:dependent=>背后的意图是什么?