我正在尝试选择正确的关联方法。
我有一个帖子模型和一个类别模型。我想要一个帖子属于许多类别和类别,有很多模型。
api doc说
如果您需要将关系模型作为自己的实体使用,请使用has_many:through。在使用旧模式时或者从不直接使用关系本身时,请使用has_and_belongs_to_many。“
我并不完全明白关系模型的含义
我将要做的事情包括。
我的问题,哪个协会允许我在上面做? 我的偏好是has_and_belongs_to,因为它似乎是直接关联
由于
答案 0 :(得分:1)
两者都可以完成这项工作,但是has_and_belongs_to_many更容易设置并使用更少的代码。
请参阅我对this question的回答以寻求帮助。
关注关系模型,根据您的描述,您不需要它。但只是让你知道它是什么,你需要在数据库中使用三个表来实现多对多关系。中间表称为连接表,您可以在上面提到的答案中看到一个。如果为连接表创建模型,那就是关系模型。优点是您可以使用它来保存您认为对关系重要的信息。缺点是额外的复杂性(有时值得),然后你应该使用更详细的has_many:through方法。