61

<head>ERb テンプレートのjavascript ファイルを呼び出す必要があるとします。私の本能はいつものことをすることです:

<head>
<%= javascript_include_tag :defaults %> <!-- For example -->
</head>

私のアプリケーションのレイアウトで。もちろん、表示中のページに必要かどうかに関係なく、これらの JavaScript ファイルがアプリケーションのすべてのページに読み込まれるという問題が生じます。

だから私が疑問に思っているのは、たとえば、特定のディレクトリでのみ見つかったすべての ERb テンプレートのヘッダーに javascript をロードする良い方法があるかどうかです。

4

4 に答える 4

111

content_forを使用します。

たとえば、アプリケーション レイアウトに挿入する場所を指定します。

<head>
<title>Merry Christmas!</title>
<%= yield(:head) -%>
</head>

ビューからそこに送信します。

<%- content_for(:head) do -%>
<%= javascript_include_tag :defaults -%>
<%- end -%>
于 2008-12-23T22:02:41.023 に答える
6

ユーザーのブラウザーにキャッシュできるため、すべての年のデフォルトを含めて問題はないと思います。

于 2008-12-24T14:51:06.340 に答える
1

通常、レイアウトファイルには次のものが含まれています。

<head>
  <%= javascript_include_tag :defaults %> <!-- For example -->
  <%= @extra_head_content %>
</head>

そして、ビューで:

<% (@extra_head_content ||= "") += capture do %>
  <%= other_content %>
<% end %>

#captureの API ドキュメントを参照してください。

于 2008-12-23T21:56:04.483 に答える