開発環境
ruby 2.6.5
Ruby on Rails 5.2.5
前提
raty.js をつかって星の機能を実装している
raty.js への変数の受け渡しに gon を利用している
kaminari のページネーションを実装している
本題
raty.js
とkaminari
を使ったページで
何回かページ遷移を繰り返すと星が消える
ただそのページでリロードすると星が再び現れる
これは困った
ページ遷移後の head
を見たときに gon
の中身が変更されていないことに気づく
gon
っていうのは js
に変数を渡す gem
で
コントローラーで変数に入れた値が head
タグに中に入り
そこから js
に渡される仕組み
実際の検証ツールの値は
こんなかんじ
これが今回のページ遷移では全く変わっていなかった。
つまり head
が変わっていない
それすなわち turbolinks
が働いてしまっているということ
なので kaminari
をローカルにインストールして
リンクに片っ端から
'data-turbolinks': false
を入れてやった
ページネーションで ajax
がしぬけどしゃあなし
すると無事動作するように