0

有人可以解释数据如何存储在多态关联中。

例如,如果我有意见、案例、案例步骤表。评论表是链接:

  belongs_to :user, class_name: 'User', foreign_key: 'user_id'
  belongs_to :commentable, polymorphic: true, counter_cache: true

案例表是链接:

  has_many :comments, as: :commentable, dependent: :destroy

案例步骤表如下:

  belongs_to :case, class_name: 'Case', foreign_key: 'case_id'
  has_many :comments, as: :commentable, dependent: :destroy

通过链接形成导轨铸件和许多其他链接......但没有得到清晰的理解。

4

1 回答 1

0

评论会像

id | user_id | commentable_type | commentable_id | value
--------------------------------------------------
1  | 1       | Case             | 1              | fdsfdsfsdf
2  | 1       | CaseStep         | 1              | dasdfs 

案例表会像

id | case_name
--------------
1  | abc

case_steps 表会像

id | case_step_name | case_id 
-------------------------------
1  | abc            | 1

在 Comment table 中,commentable_type 列将存储与其多态关联的类名,commentable_id 是类(表)记录的 id。在上述情况下,它可能是“Case”或“CaseStep”

于 2013-07-16T12:04:14.567 回答