2012-01-08 8 views
0

私は、以下の問題を本当に簡単に解決する必要があることを知っていますが、ここ数時間はそれを解決しようとしています。Rails 3:a​​jaxチェックボックスを実行しようとするとルーティングの問題が発生する

(ajaxを使用して)チェックボックスがオンになっているときにテーブルを更新しようとしています。

No route matches {:controller=>"tasks", :action=>"update"} 

私の現在のルーティングファイルは次のようになります:なぜ

root :to => "home#index" 
    resources :documents 
    resources :timelines 
    resources :lists 
    resources :tasks 
    resources :fundraisings 
    resources :news 
    get "home/index" 
    devise_for :users, :lists, :fundraisings, :timelines 
    resources :lists do 
    resources :tasks 
    end 
    resources :users do 
    resources :lists  
    end 

任意のアイデア

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

<%= form_for task, :url => {:controller =>"tasks", :action => "update" }, :remote =>true do |t| %> 
<%= t.check_box :completed_at, :class => 'submittable'%> 
<% end %> 

</td><td> 
<h3><%=task.description %></h3></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%> 

は、しかし、私は次のルーティングエラーを取得していますか?

答えて

1

標準のRESTfulルーティングでは、URLを指定する必要はありません。これは機能しませんか?

form_for task, :remote =>true do |t| 
0

のform_forのセクションリソース指向スタイルhere RESTfulなリソースを理解する方法を見てみましょう。

上記の例では、フォームを編集作業に使用して作成するのではなく、単に:url => task_path(task)というルートヘルパーを使用しています。使用可能なルートの全リストについては、rake routesをコンソールに入力してください。

正しいURLを使用している場合は、POST(スマートにPOSTの場合)またはPUT(更新の場合)を得ることができるはずです。

上記の構文に従う場合は、:method => :putオプションをform_forメソッドに追加してみてください。

関連する問題