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



我试图在我的应用程序页面中加载一些javascript使用命名的yield块,但代码是重复的,因为加载我的视图页面的通用yield。像这样:

-----视图中的代码-----

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

------应用程序页面中的代码-----

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

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

您可以在布局中使用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

最新更新