0

プロジェクトとタスクの間に関連付けがあります。

プロジェクトには多くのタスクがあり、タスクはプロジェクトに属します。

私のモデルはうまく機能しています。プロジェクトなどからタスクを作成できます。

私の問題は、プロジェクトにタスクを追加するためにプロジェクトインデックスビューにボタンを追加したいときに発生します。

私が欲しいのはそのようなものです

(プロジェクトインデックスビュー)

プロジェクト1表示、編集、破棄、add_task

プロジェクト2表示、編集、破棄、add_task

そのため、プロジェクト1のadd_taskをクリックすると、新しいタスクフォームにリダイレクトされ、そのプロジェクトのタスクが作成されます。

プロジェクトインデックスビューに<%= link_to'add_task'、new_task_path(:project_id => project)%>を追加したので、add_taskをクリックすると、/ task / new?project_id=1にリダイレクトされます。

しかし、タスクを送信すると、タスクはプロジェクトにリンクされていません。

project_idを取得するにはどうすればよいですか?

誰かがチュートリアルや私がどのようにすべきかの例を持っていますか?

ありがとう、

4

2 に答える 2

0

フォームで、プロジェクト ID の非表示フィールドを追加します

<%= f.hidden_field :project_id %>

編集:これも新しいアクションに入れてください:

@task = Task.new(:project_id => params[:project_id])
于 2012-06-25T15:01:23.890 に答える
0

Oscar が提案したように、project_id を params に送信するフォームに追加のフィールドを追加することをお勧めします。次に、更新または作成関数のいずれかで、パラメーター値を使用してレコードを作成できますが、非表示フィールドでは、値が正しく設定されていることを確認してください。

<%= f.hidden_field :project_id, :value => project.id%>
于 2012-06-25T15:10:14.840 に答える