加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – Rails 3通过复选框销毁多个记录

发布时间:2020-12-17 04:31:06 所属栏目:百科 来源:网络整理
导读:我有使用复选框多次删除的问题.当我删除多个记录时,它会获得复选框的ID,但是它将方法名称作为参数传递并显示错误. 这是我的代码, **In my Controller method :** def destroy @ticket = current_user.tickets.find(params[:ticket_ids]) @ticket.destroy res
我有使用复选框多次删除的问题.当我删除多个记录时,它会获得复选框的ID,但是它将方法名称作为参数传递并显示错误.

这是我的代码,

**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

它告诉我这个错误::::

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"}

解决方法

Ticket.destroy(array_of_ids)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读