rails4でwebアプリケーションを作成しております。
支払い機能作成にあたり、決済プロバイダの仕様上、javascriptから
リクエストを送らなくてはいけません。
ただ、Railsなので、form_tagなどを使わず、htmlのformなどを用いて
作ったのち、リクエストしてもauthenticity_tokenが付かないため、エラーになってしまいます。
そのため、Railsからのリクエストは処理せず、javascriptからの処理のみをやりたいのですが、
現状、以下のように return
をしてしまうと、 Missing template
のエラーになり、かといって
return redirect_to :back
とすると、javascriptの処理が出来なくなってしまいます。
こういう場合、どのようにすれば良いのでしょうか?
宜しくお願いします。
= form_tag(paid_url, method: :post, id: 'payment') do input type="text" xxxxx input type="text" xxxxx input type="submit" value="決済" javascript: $(function(){ var $form = $('#payment'); $form.submit(function(event) { $form.append($('<input type="hidden" name="hoge">').val("hoge")); $form.submit(); }); }); });
class PaymentsController def paid # form_tagからきたリクエストは処理せず、jsからのリクエストのみを通したい return unless params[:hoge].present? # 以降javascriptから送られた内容を元に後続の処理を進める xxxxxxx xxxxxxx end end
あなたの回答
tips
プレビュー