【问题标题】:Delete all checked items rails删除所有选中的项目 rails
【发布时间】:2019-01-18 04:15:02
【问题描述】:

我有数组任务[],其中包含表单中的项目

<%= check_box_tag "tasks[]", task.id %>

我在控制台中看到它们

Processing by TasksController#destroy as HTML
  Parameters: {"utf8"=>"?", "authenticity_token"=>"qo6JqGn0a1Yck1j67taz7kEu/ENBrwLg0xs4HbmAehNq7yMVB3llJWYgZvRNrWKPrZqYJtZIaS89EIBFIyDZTA==", "tasks"=>["7", "8"], "commit"=>"Trash All Checked", "id"=>"delete_all"}

但不能删除,操作不起作用

def delete_all
    Task.where(id: params[:id]).destroy_all
    redirect_to action: "index"
  end

【问题讨论】:

    标签: ruby-on-rails arrays action checked


    【解决方案1】:

    您的 ID 存在于 params[:tasks] 中,因此您必须这样写:

    def delete_all
      Task.where(id: params[:tasks]).destroy_all
    
      redirect_to action: "index"
    end
    

    无论如何,我建议在视图和控制器中将 tasks 更改为 tasks_ids。这是一个更有意义的名字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      相关资源
      最近更新 更多