рельсы 3 с AJAX созданной формы - PullRequest
0 голосов
/ 11 февраля 2011

Я хочу создать страницу, на которой пользователь может изменять данные на этой странице. Поэтому я попытался использовать вызов ajax, чтобы заменить исходную строку таблицы данных в форму. Новая форма может быть создана и заменить строку моим кодом в настоящее время. Но после того, как вы отредактировали данные в этой форме и нажали «Обновить», ничего не произошло. В моей консоли показано что-то вроде:

ActionController::RoutingError (No route matches "/projects/5"):

Я не могу понять, почему это не сработало.

Коды отображаются следующим образом:

index.html.erb

<tr>
  <th>Name</th>
  <th></th>
  <th></th>
</tr>

<% @projects.each do |project| %>
  <tr id="project_<%= project.id %>">
    <td><%= link_to project.name, project %></td>
    <td><%= link_to 'Edit', edit_project_path(project), :method => :get, :remote => true %></td>
    <td><%= link_to 'Destroy', project, :confirm => 'Are you sure?', :method => :delete , :remote => true %></td>
  </tr>
<% end %>

edit.js.erb

$('#project_<%= @project.id%>').replaceWith("<%= escape_javascript(render :partial=>'edit') %>");

_edit.html.erb

<tr id="project_<%= @project.id%>">
  <%= form_for(@project, :remote => true) do |f| %>
    <%= form_authenticity_token %>
    <td><%= f.text_field :name %></td>
    <td><%= f.submit 'Update' %></td>
    <td><%= link_to 'Destroy', @project, :confirm => 'Are you sure?', :method => :delete , :remote => true %></td>
  <% end %>
</tr>

1 Ответ

0 голосов
/ 12 февраля 2011

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

  1. у вас нет маршрута, указанного в маршрутах. Запустите в командной строке «rake маршруты» и посмотрите, появляется ли что-то вроде «/ projects /: id». Если нет, вы должны добавить маршрут, добавив ресурс проекта или указав маршрут вручную. Убедитесь, что метод HTTP соответствует глаголу HTTP, указанному в rout.rb.

  2. у вас нет контроллера с именем ProjectsController или нет метода create (если ваш метод ajax публикуется) или нет метода обновления (если он помещается).

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