2

私の Ruby on Rails コードには、次のタスク用の edit.html.erb ファイルがあります。

<%= render 'form' %>

次に、同じディレクトリに次のコードを含む _form テンプレートがあります。

<%= form_for @task do |f| %>
    <%= fl.label :title %><br />
<% end %>

問題は、編集ページに移動しようとするとエラーが発生することです。エラーには「undefined task_path」と表示されているため、Rails がタスクへのパスを適切に識別していないことがわかります。

プログラムの構造は、多くのタスクを含むリストがあり、各タスクにはリストがあります。routes ファイルは、次のように構造を宣言します。

resources :lists do
    resources :tasks
end

/lists/:list_id/tasks/:task_id/edit でタスクを編集しようとしていることを form_for で特定するにはどうすればよいですか?

ご協力ありがとうございました!

4

1 に答える 1

6

ネストされたリソースをフォームで使用する適切な方法は、親を指定することです。

<%= form_for [@list, @task] do |f| %>
  <%= f.label :title %><br />
<% end %>
于 2011-12-11T02:51:29.183 に答える