我有模型称为project
,gold_task
和submissions
。
关系是这样的:
project has_many gold_tasks
gold_tasks has_many submissions
如何通过项目 id 获取 gold_task 的所有提交。
我尝试了以下方式
p.gold_tasks.joins(:submissions)
在这里,我得到了所有的 gold_tasks,但我需要所有的提交。
提前致谢。
我有模型称为project
,gold_task
和submissions
。
关系是这样的:
project has_many gold_tasks
gold_tasks has_many submissions
如何通过项目 id 获取 gold_task 的所有提交。
我尝试了以下方式
p.gold_tasks.joins(:submissions)
在这里,我得到了所有的 gold_tasks,但我需要所有的提交。
提前致谢。
尝试这个:
p.gold_tasks.submissions
我相信这是您的问题,“我怎样才能通过项目 id 获得一个 gold_task 的所有提交?”
如果您正确设置了 Rails 关联,您应该可以执行以下操作:
@project = Project.find(1)
@gold_tasks = @project.gold_tasks
Rails 会自动在 gold_tasks 表中查找所有 Project id 为 1 的行,并返回它找到的数组。此外,构建对象也很容易。假设我们再次有一个项目行:
@project = Project.find(1)
@gold_task = @project.gold_task.build(hash)
这将使用参数哈希构建一个新的 gold_task 并为其分配 @project id。
查看本指南: http: //guides.rubyonrails.org/association_basics.html