LoginSignup
0
0

More than 5 years have passed since last update.

Railsでajaxリクエストが2回行われる問題と対策

Posted at

問題

Rails5でAjaxを使って部分テンプレートの更新を行った際、ちょっと動作がもっさりしてるなーと思ったら、Ajaxによるリクエストが2回行われていた。

原因

application.js
//= require jquery
//= require jquery_ujs
//= require jquery.slick
//= require rails-ujs
//= require activestorage
//= require turbolinks
//= require_tree .

↑で読み込んでいるjquery_ujsrails-ujsはどちらもajax処理を担うライブラリ。
2つとも読み込んでいるため、それぞれがajaxリクエストを行った結果、2回リクエストが発生していた。

対策

  • //= require jquery_ujsを削除。

調べてみたところ、Rails5.0以前ではremote:trueなformの動作にjquery_ujsが使用されていたが、5.1以降は脱jQueryを図るためrails-ujsに移行したのだとか。

参考

https://rails-school.net/rails51-jquery/
https://stackoverflow.com/questions/7411271/form-submitted-twice-due-to-remote-true

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0