6

名前付きyieldブロックを使用してアプリケーションページにJavaScriptを読み込もうとしていますが、ビューページを読み込む一般的なyieldのため、コードが重複しています。そんな感じ:

-----ビューに存在するコード-----

<% content_for :bottom_scripts do %>
    <script type="text/javascript">
             Some Javascripts
    </script>
<% end %>

------アプリケーションページのコード-----

<div id = "body">
    <%= yield %>
</div>
<%= yield :bottom_scripts %>

スクリプトコードは2回印刷されますが、2回目の結果で印刷する必要があります。何か考えはありますか?

4

1 に答える 1

1

content_for収量の代わりにレイアウトで使用できます

ブロックが渡されない場合content_for、その識別子に格納されているブロックを出力します

ビューで:

<% content_for :foo do %>
   <p>Bar</p>
<% end %>

レイアウト:

<%= content_for :foo %>

http://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for

于 2011-10-12T16:27:07.827 に答える