jquery.batchImageLoad.js を application.js と editor.js の両方のページに配置しても問題ありません。ブラウザが jquery.batchImageLoad.js をキャッシュして、ユーザーがダウンロードするのは一度だけだからです。
重複しないように js ファイルとインクルードを構造化することをお勧めします。これを行うには、application.js を破棄して、次のようにします。
- editor.js
- common.js
- jquery.batchImageLoad.js およびその他の一般的なライブラリが含まれています
- everything_else.js
- 以前に application.js にあったもののほとんど
どこにでも common.js を含めてから、必要に応じて editor.js または everything_else.js を含めます。
再構築したくない場合は、include_once 関数を記述できますが、これにより JavaScript のインクルードが予測しにくくなります。
# in application_helper
@included_javascripts = {}
def javascript_include_tag_once file
unless @included_javascripts[file]
javascript_include_tag file
@included_javascripts[file] = true
end
end