2012-03-16 5 views
1

5日前にRailsでプログラミングを始めました。私はフレームワークの非常に多くの側面を私のテストの周りの動作を見て学習している、答えは完璧でしたが、私はこれを持っていると私はそれと何をすべきかわからない: 私が持っているメッセージはこの1 ...#<#用奇妙なパスを返しているレールに投稿してください

未定義のメソッド `task_task_task_task_task_path」:私はすでに、フォームをチェックしました

<%= form_for @tasks do |t| %> 
<div id="task_list"> 
<% @tasks.each do |task| %> 
    <li id="task"> 
    <% if task.done == false %> 
    <%= t.check_box :done, :checked => task.done, :checked_value => true, :unchecked_value => false %> <%= task.name %> 
    <% else %> 
    <%= t.check_box :done, :checked => task.done, :checked_value => true, :unchecked_value => false, :disabled => "disabled" %> <%= task.name + "(done)" %> 
    <% end %> 

    </li> 
<% end %> 
<%= t.submit "Mark selected as done", :action => "update" %> 
</div> 
<% end %> 

と提出:0x36df6c8>

は、これが私の見解です多くのドキュメンテーション私はそれを得ることができません。このフォームは多くのインスタンス用であり、すべてのインスタンスを新しいブール値で更新します。

ありがとうございました。

+0

Railsは、あなたがそのようのform_for使用することを期待されていない参照してください。 –

答えて

1

Railsフォームヘルパーは、魔法のようにデータの配列をサーバーに提出することはできません。コレクションのヘルパーは、個々のオブジェクト用であり、コレクション用ではありません。

しかし、サーバーに値の配列を返す方法があります。たとえば、チェックボックスの名前属性に[]を追加すると、レールでサーバー側に値の配列を作成することができます。 (おそらく名前空間)単一のレコードを渡されることを期待しています -

詳細な議論については、this documentation point 7.1