2017-03-09 4 views
0

コントローラのアクションを実行する方法は、事前に確認フォームで実行できますか?コントローラの動作を、RoR with hamlで確認フォームで実行

私は、本当に次の行動をとるべきかどうかをユーザーに聞きたいと思います。確認の後、このアクションを実行します。他の場合は何もしないでください。 JavaScriptをせずにそれを行うにはどのような方法がある

= 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..." } 

そして私は興味深いです:

私はすでにこのコードを試してみましたか?

答えて

1

はい

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

または別の方法が方法があるが実際には、これはまた、JavaScriptが有効になっており、jQueryUjsライブラリが含まれないと動作しません

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

です。このJavaScript機能を追加するのは、Railsの抽象化だけです。技術的には、「JavaScript以外のソリューション」ではありません。 – gerrit

関連する問題