Rails Group Action для выбранных элементов в списке - Best Way - PullRequest
1 голос
/ 24 июня 2011

У меня есть таблица входящих сообщений. В каждом ряду есть кнопка удаления: <% = link_to 'Удалить', электронная почта,: метод =>: удалить,: подтвердить => 'Вы уверены, что хотите удалить это электронное письмо?' %>

Примечание: адрес электронной почты здесь - это объект электронной почты, переданный странице.

Теперь. Я хочу иметь флажок в каждой строке и общую кнопку удаления внизу. Я поставил флажок в каждом ряду как: <% = check_box_tag ('email', email)%>

Я не знаю, как сделать обычную кнопку Удалить внизу.

Спасибо

1 Ответ

1 голос
/ 25 июня 2011

Просто оберните это в форму (скажем, multi_delete), обработайте проверенные идентификаторы электронной почты, переданные действию.

Вам нужно будет изменить это, но обычно:

#multi_delete action to be defined in config/routes.rb

#in your view
= form_tag(:action => :multi_delete) do
  - @emails.each do |email|
    = check_box_tag('emails[]', email.id)
  = submit_tag('Delete', :confirm => "Go for it?")

#in your controller
def multi_delete
  Email.destroy_all("id IN ?", params[:emails])
  redirect_to :action => "index"
end
...