我有以下型号:
Task
,其中has_many :comments
和has_many :checklists
Comment
,其中has_many :activities
Checklist
,其中has_many :activities
->(多态关联)。
例如,如果我做类似的事情,我想让Activity
中的每个Task
都存在:
Task.first.checklists.first.activities
它返回结果,
Task.first.comments.first.activities`
但是我无法编写正确的语法来获取任务中的所有活动,谢谢。
答案 0 :(得分:2)
您可以定义has_many
through:
关联:
class Task
has_many :comments
has_many :checklists
has_many :comment_activities, through: :comments, source: :activities
has_many :checklist_activities, through: :checklists, source: :activities
end
并按如下所示使用它们:
Task.first.checklist_activities
Task.first.comment_activities