2017-04-08 61 views
2

我正在尋找一種方法來獲取屬於某個項目的所有任務,其中該項目具有特定的團隊屬性。試圖查找屬於某個項目的所有任務

  1. 項目has_many任務
  2. 任務has_one項目

我的項目有一個名爲team表列。 我正在尋找一種方法來調用我的項目控制器中的任務以顯示在我的項目索引中。

回答

2

在你的模型的關係應該是象下面這樣:

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 %> 
+1

這將不起作用,因爲'.where'返回一個集合。您可能想要使用'find_by' – Mark

+0

我想顯示許多項目的所有任務。有沒有辦法用where子句做到這一點?更具體地說,我試圖爲任何具有特定團隊名稱的項目顯示所有任務。這意味着我很可能會獲得許多項目,每個項目都有很多任務。 –

+0

@JasonMarkBeaton請檢查我的更新答案。 –

1
# projects controller 

def index 
    @tasks = Project.find_by(team: 'some_team').tasks 
end 

假設你已經在你的projects表中的列稱爲team,這應該工作。現在,在您的index視圖中,您可以使用@tasks變量訪問每個任務。

+0

謝謝馬克!你能告訴我如何能夠顯示團隊任務的總數嗎?每個任務都有一個processMetric和outcomeMetric,我總是在白天嘗試。 –

相關問題