获取每个集合项的所有 has_many 个实例
Get all has_many instances for each collection item
我有以下型号:
Task
其中 has_many :comments
和 has_many :checklists
Comment
其中 has_many :activities
Checklist
其中 has_many :activities
->(多态关联)。
我想获取 Task
中的每一个 Activity
,例如,如果我做类似的事情:
Task.first.checklists.first.activities
它 returns 结果,也是:
Task.first.comments.first.activities`
但我无法编写正确的语法来让我在任务中的每个 activity 中得到我,提前谢谢你。
您可以定义 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
我有以下型号:
Task
其中 has_many :comments
和 has_many :checklists
Comment
其中 has_many :activities
Checklist
其中 has_many :activities
->(多态关联)。
我想获取 Task
中的每一个 Activity
,例如,如果我做类似的事情:
Task.first.checklists.first.activities
它 returns 结果,也是:
Task.first.comments.first.activities`
但我无法编写正确的语法来让我在任务中的每个 activity 中得到我,提前谢谢你。
您可以定义 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