ずみーBlog

元クラゲ研究者(見習い)の92年生まれがエンジニアを目指しながら日々寄り道するブログです。

Railsで特定のページで特定のJSファイルを読み込む

Ruby on Railsでは、app/assets/javascripts配下のJSファイルは自動で読み込まれるのですが、一部のページでしか使わないようなファイルを全ページで毎回読み込むのはなんか気持ち悪いですよね。

こちらの記事を参考に、javascript_include_tagメソッドを使って、ビュー側から特定のJSファイルを読み込みに行けるような設定をしてみました。

手順

  1. ツリー読み込みの停止(今回は不要だった)
  2. プリコンパイルへの追加
  3. 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" %>