0
我想創建一個頁面,用戶可以修改該頁面上的數據。 所以我嘗試使用ajax調用來將原始數據錶行替換爲表單。 可以創建新表單並用當前代碼替換該行。但是,在編輯完數據後點擊「更新」,什麼也沒有發生。在我的控制檯顯示類似於:rails 3 with ajax created
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>
路線,但存在的,是的,我們把。我用同樣的模板,_edit.html.erb,不使用Ajax生成index.html.erb相同的代碼。每件事都有效。我刪除了生成的代碼ajax。它有一個隱藏的輸入數據,_method = put。 ajax插入的代碼是不是綁定一些js函數,當頁面加載時應該綁定?我如何解決它? – Shenk 2011-02-12 12:07:35