Как я могу отправить несколько идентификаторов на контроллер в этом представлении? - PullRequest
0 голосов
/ 20 августа 2009

Я хочу отправить несколько идентификаторов, выбранных с помощью флажков, в контроллер в этом коде:

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

1 Ответ

0 голосов
/ 20 августа 2009

На первый взгляд это выглядит нормально для меня, хотя маршрут "delete_selected_products_path" не является типичным. У вас есть специально разработанный маршрут для этого?

В любом случае вы должны иметь возможность отправить этот запрос на удаление обычным способом и заставить контроллер проверить параметры.

Это Railscast может помочь.

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