QA@IT
«回答へ戻る

回答を投稿

コメントにちろっと書きましたが、app/assets/javascripts 配下のJavaScriptファイルがひとつのJSファイルにまとめられるのは、Assets Pipeline のデフォルト動作であって、変更可能です。
application.js.erb の記述を変更すればこの動作も変わります。

//= require jquery  
//= require jquery_ujs  
//= require_tree .  

こんな感じになっていると思いますが、//= require_tree . を削除すると良いです。
あとは、個々の view なりなんなりで使用する JSファイルを javascript_include_tag で読み込めばいいですね。

全部をまとめたくはないけれど、サイト上で概ね共通で利用される JavaScript をまとめて利用したいという場合は、application.js.erb に記述します。
サイトがある程度の規模になると JS ファイルだけでも結構な容量になったりもしますし。

//= require shared/array_index_of
//= require jquery
//= require jquery_ujs
//= require shared/jquery.blockUI
//= require shared/jquery.notifyBar
//= require shared/jquery.ui.core.min
//= require shared/jquery.ui.datepicker
//= require shared/jquery.ui.datepicker-jp
//= require shared/jquery.ui.selectable
//= require shared/jquery.cookie

こんな感じですね。パスは app/assets/javascripts からの相対パスを記述すれば良いです。
*.coffee も *.js も *.js.erb も特に拡張子書かなくても良いです。
記述順にひとつにまとめられるので、順番には気をつける必要があります。

application.js.erb には他に require_directory とか require_self といった記述もあります。
application.css.erb も同様の動作なので、まとめたいものだけまとめると良いです。

こういうサイトを読むと勉強になります。
http://ja.asciicasts.com/episodes/279-understanding-the-asset-pipeline

コメントにちろっと書きましたが、app/assets/javascripts 配下のJavaScriptファイルがひとつのJSファイルにまとめられるのは、Assets Pipeline のデフォルト動作であって、変更可能です。
application.js.erb の記述を変更すればこの動作も変わります。

```
//= require jquery  
//= require jquery_ujs  
//= require_tree .  
```

こんな感じになっていると思いますが、`//= require_tree .` を削除すると良いです。
あとは、個々の view なりなんなりで使用する JSファイルを javascript_include_tag で読み込めばいいですね。

全部をまとめたくはないけれど、サイト上で概ね共通で利用される JavaScript をまとめて利用したいという場合は、application.js.erb に記述します。
サイトがある程度の規模になると JS ファイルだけでも結構な容量になったりもしますし。

```
//= require shared/array_index_of
//= require jquery
//= require jquery_ujs
//= require shared/jquery.blockUI
//= require shared/jquery.notifyBar
//= require shared/jquery.ui.core.min
//= require shared/jquery.ui.datepicker
//= require shared/jquery.ui.datepicker-jp
//= require shared/jquery.ui.selectable
//= require shared/jquery.cookie
```

こんな感じですね。パスは app/assets/javascripts からの相対パスを記述すれば良いです。
*.coffee も *.js も *.js.erb も特に拡張子書かなくても良いです。
記述順にひとつにまとめられるので、順番には気をつける必要があります。

application.js.erb には他に require_directory とか require_self といった記述もあります。
application.css.erb も同様の動作なので、まとめたいものだけまとめると良いです。

こういうサイトを読むと勉強になります。
http://ja.asciicasts.com/episodes/279-understanding-the-asset-pipeline