Ruby on rails 无法多次删除,routes.rb中的收集语法是否正确?
我正在尝试多重删除,在控制器和视图中设置了所有正确的代码,但它不起作用。我的路由文件中有这个代码,对吗?因为我认为问题只在这里 routes.rb文件Ruby on rails 无法多次删除,routes.rb中的收集语法是否正确?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在尝试多重删除,在控制器和视图中设置了所有正确的代码,但它不起作用。我的路由文件中有这个代码,对吗?因为我认为问题只在这里 routes.rb文件 resources :profiles do collection { post :import } collection do delete 'destroy_multiple' end end 在profile_controller.rb文件中 def destroy_multiple
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文件中,在表I中
<td><%= check_box_tag "profiles[]", profile.id %></td>
<%= submit_tag "Delete selected" %>
下表我有
<td><%= check_box_tag "profiles[]", profile.id %></td>
<%= submit_tag "Delete selected" %>
但是当我点击这个删除所选按钮时,什么也没有发生。
编辑-我从这里获取了这个多重删除代码
编辑2-我忘了添加
<%= form_tag destroy_multiple_profiles_path, method: :delete do %>
...
<%= end %>
...
我现在已经添加了,但是按钮没有删除记录,并且没有发生任何事情您在问题中显示您正在使用
submit\u标签
,这意味着您有一个表单。表单应将方法设置为delete
,并将操作设置为destroy\u multiple
路径,以便路由到正确的操作。在代码中,这类似于
= form_tag '/profiles/destroy_multiple', method: :delete do
你说的“不工作”是什么意思?具体点。的
表单是什么样子的?@ChrisPeters-Chris,我编辑了问题的最后一部分,当我点击这个删除选中按钮时,什么都没有发生。希望你不会觉得我的问题很烦人。。。“什么都没发生”是什么意思?浏览器在那里,不处理任何请求?屏幕被重新加载,数据没有变化?@ChrisPeters-很抱歉刚才看到了评论,没有发生任何事情意味着当我点击按钮时,记录不会被删除,页面也不会被加载。所以,这就像点击没有功能的按钮一样,令人沮丧。您确定复选框标签
s和提交标签
都在表单标签
中吗?你在Chrome控制台中有错误吗?Chrome控制台内的网络选项卡中是否有任何特别的情况发生?谢谢,我忘记添加form_标记,现在我已经添加了(请参见相关编辑),但该按钮没有删除所选记录。当我点击它时什么也没发生。你能粘贴你点击按钮时收到的请求吗?如何找到?在Chrome控制台上,当我点击开发日志中的按钮时,我没有看到任何东西。它应该位于Rails根目录/logs/development.log