开发者

Rails Group Action on Selected Items in List - Best Way

开发者 https://www.devze.com 2023-03-15 02:00 出处:网络
I have an inbox table of emails. In each row there is a delete button: <%=link_to \'Delete\', e开发者_运维知识库mail, :method => :delete, :confirm => \'Are you sure you want to delete this e-mail?\

I have an inbox table of emails. In each row there is a delete button: <%=link_to 'Delete', e开发者_运维知识库mail, :method => :delete, :confirm => 'Are you sure you want to delete this e-mail?' %>

Note: email here is the email object passed to page.

Now. I want to have a check box in each row, and a common delete button at the bottom. I put the checkbox in each row in as: <%= check_box_tag('email', email)%>

I don't know how to go about doing a common Delete button at the bottom.

Thanks


Just wrap this in a form (say multi_delete), process the checked email ids passed to the action.

You will need to modify this but generally:

#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
0

精彩评论

暂无评论...
验证码 换一张
取 消