私のRailsアプリケーションでは、いつも利用したいと思ういくつかのJSファイルがあり、app/assets/javascripts/globals
に入れてapplication.js
から//= require_tree ./globals
までコンパイルします。Railsで特定のJSファイルを分離する
しかし、ビュー固有のJSファイルがいくつかあります。特定のビューまたはコントローラ用にのみ実装されている場合は、そのファイルが優先されます。現在、config/initializers/assets.rb
でRails.application.config.assets.precompile += %w(foo.js bar.js)
でコンパイルされており、それぞれのビューで<%= javascript_include_tag "foo/bar", "data-turbolinks-track" => true %>
でアクセスしています。
私は必要なのdiv要素が存在しない場合はその機能を防止する、などif $("#foo").length > 1 ...
など条件付きでfoo.js
& bar.js
に不可欠な機能を包みました。
その結果、JSファイルは、ビューが訪問されるまで「アクティブ」ではありません。しかし、訪問した後、別のビューを訪れた後でも、JSコードは「アクティブ」です。 JSコードが相関ビューに対してのみ読み取られるようにする制御メカニズムはありますか?
私は最近、[Rails - 特定のページにのみJavascriptファイルを含める方法について](http://stackoverflow.com/questions/37360023/rails-how-to-include-javascript-files-only-on-特定のページ) –
多分[これは](http://brandonhilkert.com/blog/page-specific-javascript-in-rails/)あなたを助けるでしょう –