Search code examples
javascriptruby-on-railsrubyhaml

Run controller action with confirm form in RoR with haml


Is there any possible way to run controller action with confirm form before it?

I'd like to ask user is he/she really sure to do following action. And after confirmation run this action. In other case just do nothing.

I already tried this code:

= form_tag( '#', onclick: "confirm('#{text}')", :controller => :payments, :action => :pay, :subscription_id => subscription_plan) do
  = hidden_field_tag 'current_subscription', subscription_plan.id
  .payment_button= image_submit_tag "/images/popup/payment/#{label_img}", :value => label.to_s, data: { disable_with: "Please wait..." }

And I'm interesting in is there any way to do it without JavaScript?


Solution

  • Yes there is way

    .payment_button= image_submit_tag "/images/popup/payment/#{label_img}", :value => label.to_s, data: { confirm: 'Your confirm message', disable_with: "Please wait..." }
    

    OR another way is

    = form_tag( '#', onsubmit => "return confirm('Are you sure?');", :controller => :payments, :action => :pay, :subscription_id => subscription_plan) do