Rails Content_for / yield的问题 - 重复的内容

时间:2011-10-06 17:15:52

标签: ruby-on-rails ruby yield content-for

我正在尝试使用命名的yield块在我的应用程序页面中加载一些javascript,但代码是重复的,因为加载我的视图页面的通用yield。类似的东西:

-----视图中存在的代码-----

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

------我的申请页面中的代码-----

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

脚本代码打印两次,但是我需要它只是在第二次打印时打印出来,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以在布局中使用content_for而不是yield

content_for没有传递一个块时,它会输出存储在该标识符

的块

在视图中:

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

布局:

<%= content_for :foo %>

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