1

projectgold_taskおよび と呼ばれるモデルがありsubmissionsます。

関係は次のようになります。

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 は、プロジェクト ID が 1 のすべての行について、gold_tasks テーブル内のすべての行を自動的に検索し、見つかったものの配列を返します。さらに、オブジェクトの作成も簡単です。再びプロジェクト行があると仮定しましょう:

@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 に答える