我正在开发需要实施产品管理的rails应用程序 管理界面应允许向系统添加新产品 索引显示现有产品的列表,并应允许批量编辑现有模型(更改多个产品名称,通过复选框删除多个产品等)。
问题
我试图弄清楚如何使索引页面像表单一样。目前,我实现了使用复选框删除多个产品的功能:
index.html.erb
# The form_tag wraps the entire collection, with a path to delete multiple
# products defined in the controller/routes
<%= form_tag destroy_multiple_admin_products_path, method: :delete do %>
# render the products collection:
<% @products.each do |product| %>
# checkbox to mark product for deletion:
<%= check_box_tag "products[]", product.id %>
# content
<%= text_field_tag "", product.name %>
...
products_controller.rb
# admin/products#index
def index
@products = Product.all
end
# admin/products#destroy_multiple
def destroy_multiple
Product.destroy(params[:products])
redirect_to admin_products_path
end
routes.rb
root :to => 'high_voltage/pages#show', id: 'home'
namespace :admin do
resources :products, only: [:new, :edit, :update, :create, :index] do
collection do
delete 'destroy_multiple'
end
end
end
如上所示,视图中的form_tag使用delete_multiple路径设置 按下提交按钮后,将删除所有选定的产品 问题是,我对如何实施&#34;更新已选择&#34;而言非常无能为力。按钮将使用各个字段中的值更新所选产品(为简洁起见,其中大多数已经过编辑)。