铁轨属于许多型号[关闭
-
29-09-2019 - |
题
我确实发现了一些关于铁轨协会的问题,这些问题有点像我的问题,但是对于我的一生,我似乎无法理解如何使用 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魔术。
不隶属于 StackOverflow