2017-04-08 6 views
2

プロジェクトに属する特定のチーム属性を持つプロジェクトに属するすべてのタスクをプルする方法を探しています。プロジェクトに属するすべてのタスクを見つけようとしています

  1. プロジェクトhas_manyタスク
  2. タスクhas_oneプロジェクト

私のプロジェクトはteamと呼ばれるテーブルの列を持っています。 私はプロジェクトコントローラのタスクを呼び出して、プロジェクトのインデックスに表示する方法を探しています。あなたはprojects表の列を持っていると仮定すると

答えて

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 

が、これは動作するはずです、teamと呼ばれます。現在、indexビューでは、@tasks変数を使用して各タスクにアクセスできます。お使いのモデルで

+0

ありがとうございました!チームタスクの合計をどのように表示できるか教えてください。各タスクにはprocessMetricとoutcomeMetricがあり、私は毎日努力しています。 –

関連する問題