Rails 3: проблема маршрутизации при попытке сделать ajax флажок - PullRequest
0 голосов
/ 08 января 2012

Я знаю, что должно быть действительно простое решение для указанной ниже проблемы, но я пытался решить ее в течение последних нескольких часов.

Я пытаюсь обновить таблицу, когда установлен флажокпроверил (используя ajax).

<% @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%>

Однако я получаю следующую ошибку маршрутизации:

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

Есть идеи, почему?

Ответы [ 2 ]

1 голос
/ 09 января 2012

При стандартной маршрутизации RESTful вам не нужно указывать URL. Это не работает?

form_for task, :remote =>true do |t|
0 голосов
/ 13 января 2012

Посмотрите, как form_for понимает ресурсы RESTful здесь в разделе Ресурсно-ориентированный стиль .

В приведенном выше примере я просто пытаюсь использовать помощник по маршруту, т.е. :url => task_path(task), если вы просто пытаетесь использовать форму для редактирования задач, а не для создания. Чтобы просмотреть полный список доступных вам маршрутов, наберите rake routes на консоли.

Кроме того, если вы используете правильный URL-адрес, вы сможете получить форму form_for для POST (в случае создания) или PUT (в случае обновления).

Если вы хотите придерживаться приведенного выше синтаксиса, попробуйте также добавить параметр :method => :put в свой метод form_for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...