BackEnd

form_withでフォームの送信前に処理を行う方法

投稿日:2018年4月12日 更新日:

はじめに

フォームを送信する前に処理を行いたいケース(Google Analyticsのイベントのトラッキングなど)があると思います。

今回はform_withを利用してAjax送信する前に何らかの処理を行うサンプルを紹介します。

form_with

form_withはRails5.1から追加されたフォームを作成するためのヘルパーです。

form_withを扱う上で注意すべき点はデフォルトでAjax送信になるということです。送信時にページ遷移したい場合は local: true を指定する必要があります。

サンプル

最小限のサンプルコードを下記に記載します。

submit(); ではAjaxにならずページ遷移してしまうので、 Rails.fire(); を使う点に注意が必要です。

さいごに

form_withでフォームを送信する前に任意の処理を行うサンプルを紹介しました。

参考

rails-ujs と form_with の使い方

[Rails 5.1] ‘form_with’ APIドキュメント完全翻訳

blog-page_footer_336




blog-page_footer_336




-BackEnd
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

laravel logo

Laravelでメールを送る

1 はじめに1.1 準備2 実装2.1 Mailableクラスの作成2.2 テンプレートの作成2.3 Mailableクラスの修正2.4 コントローラの作成2.5 コンフィグの修正3 さいごに4 おす ...

Stripe Connectを使ってCheckoutを利用した継続課金を実装

1 はじめに1.1 Checkoutを使う場合の動線2 決済画面への遷移2.1 マイグレーション2.2 Checkout Sessionの作成3 決済完了後の制御4 おまけ4.1 ローカルでWebho ...

laravel logo

LaravelのFacade(ファサード)とは? 何気なく使用していた裏側の仕組みを解説!

1 はじめに1.1 Facadeを使用しているクラス2 Facadeの仕組み3 Facadeの作成3.1 サンプルコードに必要な実装3.2 Serviceの作成3.3 Facadeクラスの作成3.4 ...

laravel logo

Laravelで非同期実行する

1 はじめに1.1 動作環境2 準備2.1 デーブルの作成2.2 .envの修正3 ジョブの作成4 ジョブのディスパッチ5 キューワーカーを起動6 より細かな制御6.1 特定のキューにディスパッチする ...

laravel logo

[Laravel]データベースの暗号化について考えてみる

1 はじめに2 環境3 Laravelでの暗号化4 暗号化されたカラムは、そのままではLIKE検索ができない4.1 問題点4.2 解決案1:全件取得してPHP側でがんばって検索する4.3 解決案2:暗 ...

フォロー

blog-page_side_responsive

2018年4月
1234567
891011121314
15161718192021
22232425262728
2930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。