Rails 3 通过复选框销毁多条记录 [英] Rails 3 destroy multiple record through check boxes
本文介绍了Rails 3 通过复选框销毁多条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在使用复选框进行多次删除时遇到问题.当我删除多条记录时,它会获取复选框的 id,但它正在传递一个方法名称作为参数并显示错误.
I have issue with multiple delete using checkboxes. when i m deleting multiple records it get s ids for checkboxes but it is passing a method name as parameter and shows me error.
这是我的代码,
**In my Controller method :**
def destroy
@ticket = current_user.tickets.find(params[:ticket_ids])
@ticket.destroy
respond_to do |format|
format.html { redirect_to tickets_url }
format.json { head :no_content }
end
end
def destroy_multiple
Ticket.destroy(params[:tickets])
respond_to do |format|
format.html { redirect_to tickets_path }
format.json { head :no_content }
end
end
**In my index.html.erb**
<%= form_tag destroy_multiple_tickets_path, method: :delete do %>
.
.
<td class="table-icon">
<%= check_box_tag "ticket_ids[]", ticket.id %>
</td>
.
.
<%= submit_tag "Delete selected" %>
**In routes.rb**
resources :tickets do
collection do
delete 'destroy_multiple'
end
end
它向我展示了这个错误::::
it shows me this error ::::
Couldn't find Ticket with id=destroy_multiple [WHERE "tickets"."user_id" = 1]
通过争论::::
{"utf8"=>"✓",
"_method"=>"delete",
"authenticity_token"=>"yHeRR49ApB/xGq1jzMTdzvix/TJt6Ysz88nuBEotHec=",
"ticket_ids"=>["11",
"12"],
"commit"=>"Delete selected",
"id"=>"destroy_multiple"}
推荐答案
do
Ticket.destroy(array_of_ids)
这篇关于Rails 3 通过复选框销毁多条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文