2009-08-19 12 views
0

が、私はこのコードでは、コントローラにチェックボックスで選択した複数のIDを送信する:コードは、この行であるこのビューで複数のIDをコントローラに送信するにはどうすればよいですか?

<% form_for :product do %> 
<table border="1px"> 
    <tr> 
     <th> 
      Select 
     </th> 
     <th> 
      Image 
     </th> 
     <th> 
      Product Name 
     </th> 
     <th> 
      Product Description 
     </th> 
     <th> 
      Product Price 
     </th> 
     <th> 
      Categories 
     </th> 
     <th colspan="3"> 
      Actions 
     </th> 
    </tr> 
    <% @products.each do |p| %> 
    <tr> 
     <td> 
      <%= check_box_tag "product_ids[]", p.id, false, :id => "product_#{p.id}" %> 
     </td> 
     <td> 
      <%= image_tag p.photo.url(:thumb) , :alt => "#{p.name}" %> 
     </td> 
     <td> 
      <%= link_to "#{p.name}" , edit_product_path(p) %> 
     </td> 
     <td> 
      <%=h truncate(p.description.gsub(/<.*?>/,''),:length => 80) %> 
     </td> 
     <td> 
      <%=h p.price %> 
     </td> 
     <td> 
      <% for category in p.categories.find(:all) %> 
      <%= link_to "#{category.name}" , category_path(category.id) %> 
      <% end %> 
     </td> 
     <td> 
      <%= link_to 'Show' , product_path(p) %> 
     </td> 
     <td> 
      <%= link_to 'Edit', edit_product_path(p) %> 
     </td> 
     <td> 
      <%= link_to 'Remove', product_path(p), :confirm => "Are you really want to delete #{p.name} ?", :method => 'delete' %> 
     </td> 
     <% end %> 
    </tr> 
</table> 
<div id="products_nav"> 
    <%= link_to "Add a new Product" , new_product_path %> 
    <%= link_to "Add a new Category" , new_category_path %> 
    <%= link_to "Category page" , categories_path %> 
    <%= link_to "Remove selected products" , delete_selected_products_path , :method => 'delete' %> 
</div> 
<% end %> 

<%= link_to "Remove selected products" , delete_selected_products_path , :method => 'delete' %> 

答えて

0

一見すると、それは私にはOKに見える、けれども「delete_selected_products_path」ルートは一般的ではありません。このために特別に設定されたルートがありますか?

いずれにしても、この削除要求を通常の方法で送信し、コントローラーにパラメーターを確認させる必要があります。

このRailscastが役立ちます。

関連する問題