1

我有模型称为project,gold_tasksubmissions

关系是这样的:

project has_many gold_tasks

gold_tasks has_many submissions

如何通过项目 id 获取 gold_task 的所有提交。

我尝试了以下方式

p.gold_tasks.joins(:submissions)

在这里,我得到了所有的 gold_tasks,但我需要所有的提交。

提前致谢。

4

2 回答 2

0

尝试这个:

p.gold_tasks.submissions

于 2013-05-08T18:02:18.883 回答
0

我相信这是您的问题,“我怎样才能通过项目 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

于 2013-05-08T16:59:03.390 回答