我正在尝试使用命名的 yield block 在我的应用程序页面中加载一些 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 %>
脚本代码被打印了两次,但我只需要在第二次 yield 中打印它,有什么想法吗?
最佳答案
你可以在布局中使用 content_for
而不是 yield
当 content_for
没有传递一个 block 时,它输出存储在该标识符处的 block
在 View 中:
<% 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/