活动记录查询关系

时间:2013-05-08 13:20:07

标签: ruby-on-rails-3

我的模型名为projectgold_tasksubmissions

关系是这样的:

project has_many gold_tasks

gold_tasks has_many submissions

如何通过项目ID获取g​​old_task的所有提交。

我尝试了以下方式

p.gold_tasks.joins(:submissions)

这里我得到所有gold_tasks但我需要所有提交。

提前致谢。

2 个答案:

答案 0 :(得分:0)

我相信这是你的问题“我怎样才能通过项目ID获得gold_task的所有提交?”

如果您已正确设置Rails关联,则应该可以执行以下操作:

@project = Project.find(1)
@gold_tasks = @project.gold_tasks

Rails会自动查找gold_tasks表中所有行的项目ID为1的所有行,并返回它找到的数组。此外,建筑物也很容易。我们假设我们再次有一个项目行:

@project = Project.find(1)
@gold_task = @project.gold_task.build(hash)

这将构建一个带有参数哈希的新gold_task,并为其分配@project id。

查看本指南: http://guides.rubyonrails.org/association_basics.html

答案 1 :(得分:0)

试试这个:

p.gold_tasks.submissions