我试图使用命名的yield块在我的应用程序页面中加载一些javascript,但是由于加载了 View 页面的一般yield导致代码重复。像这样的东西:
----- View 中存在代码-----
<% 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
关于ruby-on-rails - Rails Content_for/yield的问题-重复的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7678038/