我确实发现了一些关于铁轨协会的问题,这些问题有点像我的问题,但是对于我的一生,我似乎无法理解如何使用 belongs_to 多个模型。

这是 表结构 我打算有:

User
 id

Post
 id
 user_id #foreign key; a post belongs to a User aka "Who created this post"

Comment
 id
 user_id #foreign key; a comment belongs to a User aka "Who made this comment"
 post_id #foreign key; a comment belongs to a Post aka "What post this comment is for"

协会:

User
 has_many :posts
 has_many :comments

Post
 belongs_to :user
 has_many :comments

Comment
 belongs_to :user
 belongs_to :post

这是正确的方法吗?

有帮助吗?

解决方案

是的,这是正确的方法。

其他提示

虽然并非总是“最佳”方法,但Rails提供了所谓的 多态性属于协会. 。它可以防止您在数据库中定义外键,因为XXX_ID列是在许多可能的表之一中引用ID,而另一列则指定该表模型的名称,但它使该关系在Rails中更加明确。同样,它将模型限制在仅属于其他模型之一,而不是属于一个或多个模型之一,因为它将使用多个外国键的设置而没有其他DB魔术。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top