我正在寻找一种方法来获取属于某个项目的所有任务,其中该项目具有特定的团队属性。试图查找属于某个项目的所有任务
- 项目
has_many
任务 - 任务
has_one
项目
我的项目有一个名为team
表列。 我正在寻找一种方法来调用我的项目控制器中的任务以显示在我的项目索引中。
我正在寻找一种方法来获取属于某个项目的所有任务,其中该项目具有特定的团队属性。试图查找属于某个项目的所有任务
has_many
任务has_one
项目我的项目有一个名为team
表列。 我正在寻找一种方法来调用我的项目控制器中的任务以显示在我的项目索引中。
在你的模型的关系应该是象下面这样:
class Project < ActiveRecord::Base
has_many :tasks
end
任务模式:
class Task < ActiveRecord::Base
belongs_to :project
end
def index
@projects = Project.where(column_name: 'some_value')
end
在项目视图
<% @projects.includes(:tasks).each do |project|%>
<% project.tasks.each do |task| %>
<%= task.team %>
<% end %>
... and attributes so on
<% end %>
# projects controller
def index
@tasks = Project.find_by(team: 'some_team').tasks
end
假设你已经在你的projects
表中的列称为team
,这应该工作。现在,在您的index
视图中,您可以使用@tasks
变量访问每个任务。
谢谢马克!你能告诉我如何能够显示团队任务的总数吗?每个任务都有一个processMetric和outcomeMetric,我总是在白天尝试。 –
这将不起作用,因为'.where'返回一个集合。您可能想要使用'find_by' – Mark
我想显示许多项目的所有任务。有没有办法用where子句做到这一点?更具体地说,我试图为任何具有特定团队名称的项目显示所有任务。这意味着我很可能会获得许多项目,每个项目都有很多任务。 –
@JasonMarkBeaton请检查我的更新答案。 –