或者:“如果你做错了会怎么样”
Doc说:你应该使用has_many:through如果你需要验证,回调, 或连接模型上的额外属性。
但是“你应该使用”应该是“你必须使用”吗?
关键是,我们在联接表中有一个属性,而这个经过深入讨论。
那么如果我(我们)决定使用更简单的HABTM会在一年之内弹出友好属性会怎样?是否可以访问它(更复杂,更好),还是我们重新开始并重新设计?
所有答案(也有很多) - “HABTM或:通过”,或多或少容易决定; “接受这个或另一个”。
如果我们判断错误,我想知道如何纠正错误。
是的,例如。可以“在两者之间推送模型”,或者如果它弹出来怎么访问这个属性?或者是更好的策略:通过?只是肯定
答案 0 :(得分:1)
是的,可以将HABTM转换为HMT。
连接表遵循词汇顺序的表+表的命名约定,例如" developers_projects"。
稍后,如果你想建立关系HMT只是创建一个名为_Save_all_regs
的模型并将其用作连接表。它是同一张桌子。但是,您可以使用迁移来添加字段,并使用模型添加验证等等。
从HMT开始的优点是你可以随意调用连接表,但这并不是非常重要。