0

我正在尝试多重删除,已在控制器和视图中设置了所有正确的代码,但它不起作用。我的路由文件中有这段代码,这是正确的吗?因为我认为问题只在这里

路由.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 - 使用复选框删除多个记录

编辑 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 回答