2012-01-09 1 views
1

私はToDoリストを持っていますが、基本的にユーザーがチェックボックスにチェックを入れて、それをajaxと完全にマークできるようにしようとしていますが、私は実際に問題を抱えています。 'リスト')。Rails 3:ループ内のフォーム?

現在、私のループは 'リスト'のすべての 'タスク'を明らかにしています。私は私のチェックリストを使用してフォームに追加しようとする。しかし、私はエラーを取得する:私はその「リスト」のすべてのタスク」を表示したいが、私はまた、許可することを宣言することが最善の方法

Couldn't find Task without an ID 

わかりませんユーザーはそのリスト内の各タスクを編集できます。

<% @tasks.each do |task| %> 


<%= form_for task, :remote => true do |f| %> 
    <%= f.check_box 'complete', :class => 'submittable' %> 
    <%= f.label :complete %> 
<% end %> 


<tr><td><h3><%=task.description %></h3></td><%=task.complete%><td></td> 
    <td><%= link_to 'Edit Task',edit_list_task_path(@list, task), :id => "edit_#{task.id}",:class=>"btn info" %></td> 
    <td><%= link_to 'Delete Task', list_task_path(@list, task), :method => :delete, :confirm => "Are you sure?", :id => "delete_#{task.id}", :class=>"btn danger "%></td></tr> 

</tr> 

<%end%> 

そして、私のコントローラ:

は、ここに私の見解である

def index 
    @tasks = @list.tasks 
    @task = @list.tasks.find() 
    @task.update_attributes params[:task] 

end 

アップデート:以下のコメントに沿って

行われた変更。その他の提案はありますか?あなたは

<%= form_for task, :remote => true do |f| %> 

代わりの

<%= form_for @task, :remote => true do |f| %> 

すなわちが必要

答えて

1

@tasktaskに置き換えてください。

これで問題が解決するかどうかわかりませんが、少なくとも表示されている誤植です。

+0

こんにちは!ありがとう、私はそれを見つけませんでしたが、私はまだ同じ問題を抱えています。その他の提案はありますか? –

0

コントローラで、.find()を実行すると、タスクのIDを渡す必要があります。

関連する問題