「邪魔にならないJavaScript」の推奨事項に従って、JavaScriptロジックを
別々のファイル。しかし、私はそれらを整理する方法がわかりません。
したほうがいい:
毎回application.jsにメインJavaScriptをロードします。次に、さまざまなニーズに合わせてファイルを作成します。 form.jsファイル、myfancypart.jsファイルなどを作成します。それらをapplication.html.erbレイアウトにロードしないでください。必要なときに動的にロードします。
application.html.erb:
<%= javascript_include_tag "application" %>
<%= yield :javascript_includes %>
view.html.erbの上部:
<% content_for :javascript_includes do %>
<%= javascript_include_tag "forms.js" %>
<% end %>
Content_forブロック内のすべてがyield:javascript_includesでロードされます。
すべてを1つのファイルに入れて、それを縮小してgzipすることができます。クライアントは、その後のすべてのリクエストでキャッシュされるため、一度ダウンロードするだけで済みます。
あなたが興味を引くかもしれないもう一つは、gemを使用してインストールできるjavascript依存関係マネージャーであるスプロケットです。スプロケットの詳細については、Webサイト( http://getsprockets.org/ )またはgithubページ( https://github.com/Rails/sprockets から入手できます。 =)。大きなjavascriptアプリケーションの作成がはるかに管理しやすくなります。
これは、Rails 3.1およびアセットパイプライン!!!
あなたが示すように、別々のファイルが最適です。それらをすべて参照してリンクする方法に関する問題は、Rails 3.1でなくなります。これは、すべてをプロダクション用の単一ファイルにコンパイルすることを目的としています。
Jammitを使用してcssおよびjavascriptsファイルを含めることができます
詳細: http://documentcloud.github.com/jammit/
使用する:
ステップ1:
Asset.ymlにjsファイルを追加します(以下のコードを参照)
javaScript:
footer:
- app/javascripts/lib/*.js
- app/javascripts/jquery-plugins/*.js
- app/javascripts/custom/*.js
- app/javascripts/application.js
ヘッダ:
- app/javascripts/core/*.js
- app/javascripts/head/*.js
ステップ2:
アプリケーションレイアウトに簡単なコードを追加します。
<%= include_javascripts :header %>
<%= include_javascripts :footer %>