0

製品管理を実装する必要がある 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
    
  • ルート.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 パスが設定されています。
送信ボタンを押すと、選択したすべての商品が削除されます。
問題は、選択した製品をさまざまなフィールドの値で更新する「選択済みの更新」ボタンを実装する方法について、私はかなり無知です(そのほとんどは簡潔にするために編集されています)。

4

0 に答える 0