从索引处理模型

时间:2013-09-30 13:13:16

标签: ruby-on-rails forms erb

我正在开发需要实施产品管理的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;而言非常无能为力。按钮将使用各个字段中的值更新所选产品(为简洁起见,其中大多数已经过编辑)。

0 个答案:

没有答案