多くの場合、JavaScript はページ上の特定の要素と対話するように記述されています。その場合、ブラウザはすべてのページで JavaScript を評価しますが、適切なページ要素が存在する場合にのみ有効にします。そのページに必要な JavaScript は、サイト全体の application.js スクリプトの一部にするか、ビュー テンプレートまたはアプリケーション レイアウトで javascript_include_tag ステートメントを使用してページに含めることができます。
JavaScript の実行は、
- ページ上の独自の要素の存在、または
- HTML body タグの属性。
より組織化されたアプローチは、HTML body タグの属性をテストすることです。
- ページの body 要素に class または id 属性を設定します。
- これらのクラスまたは ID を解析し、適切な関数を呼び出す JavaScript の関数を使用します。
まず、アプリケーションのレイアウトを変更する必要があります。app/views/layouts/application.html.erbファイルの<body>
ステートメントを次のように置き換えます。
<body class="<%= params[:controller] %>">
ページが Projects コントローラーによって生成されると仮定すると、レンダリングされたページには次のものが含まれます。
<body class="projects">
JavaScript コードで次の条件を使用します。
$('document').ready(function() {
if ($('body.projects').length) {
console.log("Page generated by the projects controller.");
}
});
(... RailsAppsProject から、「Unholy Rails: Javascript を Rails に追加する」 . 読んでください!