LoginSignup
4
1

More than 3 years have passed since last update.

【jQuery】【rails】使えない!? 動かない

Posted at

解消したいこと

jQueryが上手く動かない
しかしリロードをすれば、動くようになる
なぜ??

原因

結論、Turbolinksが邪魔している
デフォルトgemであるturbolinks(ajaxとajaxとhistoryAPIを使ってページ遷移しやすくするもの)が動作しているため、そもそも$(document).ready()が動かない
つまりページが変わっているように見えて、上記のことが起きておりjqueryは起動しない。

Turbolinksとは

ページ上のリンクをクリックした時に、ページ全体をリロードさせるのではなく、bodyタグの中身とheadの中のtitleを同一ページ上で書き換える方法。
.jsとか.cssとか処理し直さないので、ページの読み込みがかなり早くなる。

使い方

gemfileに以下を記述

gem 'jquery-turbolinks'

bundel install と サーバ再起動を行う

解消例

該当のjqueryをこの記述に入れることで解消された。

$(document).on('turbolinks:load',(function(){ }))

参考文献

https://workabroad.jp/posts/1133
https://qiita.com/hiroyayamamo/items/b258acbaa089d9482c8a

4
1
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
4
1