Railsで特定のページで特定のJSファイルを読み込む
Ruby on Railsでは、app/assets/javascripts
配下のJSファイルは自動で読み込まれるのですが、一部のページでしか使わないようなファイルを全ページで毎回読み込むのはなんか気持ち悪いですよね。
こちらの記事を参考に、javascript_include_tagメソッドを使って、ビュー側から特定のJSファイルを読み込みに行けるような設定をしてみました。
手順
- ツリー読み込みの停止(今回は不要だった)
- プリコンパイルへの追加
- javascript_include_tagによるJSファイル読み込み
1. ツリー読み込みの停止
通常、app/assets/javascripts/application.jsというファイルが存在し、その中に以下の記述があるので、コメントアウト。
//変更前 //= require_tree . //変更後 // require_tree .
しかし、私の環境ではこのようなファイルは見当たりませんでした(Railsのバージョンの違い?)
2. プリコンパイルへの追加
JSファイルをプリコンパイル対象へ追加
config/initializers/assets.rb
Rails.application.config.precompile += %w(*.js)
3. ビューからのファイル読み込み
app/views/items/xxx.html.erb
<%= javascript_include_tag "items.js" %>