1. ホーム
  2. ruby-on-rails

Rails 3.1 asset pipeline: コントローラ固有のスクリプトを読み込むには?

2023-09-07 18:07:43

質問

Rails 3.1で新しいコントローラを生成すると、そのコントローラの名前を持つjavascriptファイルも自動的に追加されます。まず、このjavascriptファイルは、関連するコントローラが呼び出されたときのみ使用されるものと考えています。

デフォルトでは //= require_tree . の中に application.js -ファイルの中で、そのツリー上のすべての javascript ファイルを含めます。

コントローラ固有のスクリプトを読み込むにはどうしたらよいでしょうか。

どのように解決するのですか?

必要なname_of_the_js_file.jsファイルのみを読み込むようにする。

  1. を削除します。 //=require_tree から application.js

  2. 特定のページがロードされたときに読み込ませたい)jsファイルをアセットパイプラインに置いておきます。

  3. にヘルパーを追加します。 application_helper.rb

    def javascript(*files)
      content_for(:head) { javascript_include_tag(*files) }
    end
    
    
  4. をレイアウトに収めます。

    <%= yield(:head) %>
    
    
  5. をビューファイルに追加してください。

    <% javascript 'name_of_the_js_file' %>
    
    

それなら大丈夫なはずです