特定のページのみにJavaScriptを当てたい
どハマりしてしまったのでログ。
特定のページのみにJavaScriptを当てたい場合、
読み込ませたいjsファイルを、Asset Pipelineの対象から外す
読み込ませたいjsファイルを、precompile対象に追加する
読み込ませたいjsファイルを、Turbolinksの対象から外す
app/views/layouts/application.html.erbにて、「特定のページのときだけ」対象のjsファイルをincludeする記述を追加する
(引用:メモ置き場 メモ置き場「とあるJavascriptを特定のページ(とあるcontrollerのとあるaction)でだけロードして実行したい」)
この記事の手順に従うとうまくいくは、ず、なのだが、うまくいかず。
//= require jquery
//= require jquery_ujs
//= require_tree .
//= stub reload
デフォルトで記載してある'require turbolinks'を削除することで、特定のページにのみに当てたいjs(reload.js)が作動するようになりました。どこかのviewで読まれたjsがturbolinksのせいで引き継がれてしまう模様。turbolinksに関して今後要勉強。
参考リンク
メモ置き場 メモ置き場「とあるJavascriptを特定のページ(とあるcontrollerのとあるaction)でだけロードして実行したい」