Rails 关联帮助 - 我是不是使用多态关联?

Posted

技术标签:

【中文标题】Rails 关联帮助 - 我是不是使用多态关联?【英文标题】:Rails Association Help - Do I use Polymorphic Association?Rails 关联帮助 - 我是否使用多态关联? 【发布时间】:2011-12-18 19:37:50 【问题描述】:

我需要帮助确定我应该为以下 3 个模型使用哪种关联。以下是表格以及我认为当前的关联。如果有更好的方法可以在下面实现,请告诉我。谢谢

表格的外观。

User Table
id

Meal Table
id

Comment Table
user_id
Meal_id

这是我认为关联的外观,但这可能会根据所使用的关联类型而改变。

User
has_many :comments

Meal
has_many :comments

Comment
belongs_to :user
belongs_to :meal

【问题讨论】:

作为后续问题。我正在尝试编写控制器来为特定膳​​食创建评论并将其链接到用户。我关注guides.rubyonrails.org/getting_started.html,但他们没有用户,我不确定如何将其写入 user_id 列。如果您能给我提供一些示例代码,那就太好了。谢谢 【参考方案1】:

听起来不错。

我会将belongs_to :user 关联重命名为belongs_to :author, :class_name => "User",以更明确地说明该关联在您的系统中所扮演的角色。

如果你想添加更多模型来评论,你应该使用polymorphic associations。

【讨论】:

以上是关于Rails 关联帮助 - 我是不是使用多态关联?的主要内容,如果未能解决你的问题,请参考以下文章

rails中的多态关联

Rails在使用多态关联时组合和排序ActiveRecord关系

iOS Core Data:为 Rails 多态关联设置关系的方法

将rails多态关联对象渲染为JSON

Ruby on Rails: :include 与子模型的多态关联

rails 获取多态类的所有关联类