0

複数の削除を試みていますが、コントローラーとビューにすべての正しいコードを設定しましたが、機能していません。ルート ファイルにこのコードがありますが、これは正しいですか? 問題はここだけだと思う​​ので

routes.rb ファイル

  resources :profiles do
    collection { post :import }
    collection do 
      delete 'destroy_multiple'
    end
  end

profile_controller.rb ファイル内

  def destroy_multiple
    Profile.destroy(params[:profiles])
    respond_to do |format|
      format.html { redirect_to profiles_path }
      format.json { head :no_content }
    end
  end

index.html.erb ファイルで、私が持っているテーブルで

<td><%= check_box_tag "profiles[]", profile.id %></td>

そして私が持っているテーブルの下に

<%= submit_tag "Delete selected" %>

しかし、この [選択した項目を削除] ボタンをクリックしても何も起こりません。

編集- ここからこのマルチ削除コードを取得しましたRails 3 - チェックボックスを使用して複数のレコードを削除する

EDIT 2 - 追加するのを忘れていました

<%= form_tag destroy_multiple_profiles_path, method: :delete do %>
  ...
<%= end %>

これを追加しましたが、ボタンはレコードを削除せず、何も起こりません

4

1 に答える 1

1

使用していることを質問で示しました。submit_tagこれは、フォームがあることを意味します。正しいアクションにルーティングするには、フォームでメソッドをパスにdelete、アクションをパスに設定する必要があります。destroy_multiple次のようなコードで

= form_tag '/profiles/destroy_multiple', method: :delete do
于 2013-09-05T11:13:57.260 に答える