我有数组任务[],其中包含表单中的项目
<%= 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
答案 0 :(得分:2)
您的ID显示在length = 1
中,因此您必须编写如下代码:
params[:tasks]
无论如何,我建议在视图和控制器中将def delete_all
Task.where(id: params[:tasks]).destroy_all
redirect_to action: "index"
end
更改为tasks
。这个名字更有意义。