Удалить все отмеченные пункты рельсы - PullRequest
0 голосов
/ 17 января 2019

У меня есть задачи массива [] с элементами из формы

<%= 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

1 Ответ

0 голосов
/ 17 января 2019

Ваши идентификаторы присутствуют в params[:tasks], поэтому вы должны написать что-то вроде этого:

def delete_all
  Task.where(id: params[:tasks]).destroy_all

  redirect_to action: "index"
end

В любом случае, я бы рекомендовал изменить tasks на tasks_ids в представлении и контроллере. Это более значимое имя.

...