我有一个布局(application.html):
<!-- then anything added in the views -->
<%= yield :stylesheet %>
如果我将此代码放入&#39; root&#39;模板(即直接由动作调用的模板)在页面上呈现没问题:
<% content_for :stylesheet do %>
This is a test
<% end %>
但是如果我把同样的东西放在一个部分它不会被渲染。部分呈现为:
<%= render :partial => "detail" %>
答案 0 :(得分:4)
如果没有看到其他相关代码,很难确定,但这可能是一个订购问题。
从高级别开始,当页面呈现时,它首先加载视图(在布局之前),并且视图中包含content_for的任何部分都应该正常工作。但是,如果在布局而不是视图模板中呈现此部分,则有可能在“yield:stylesheet”之后调用content_for,这将导致它被忽略。
答案 1 :(得分:0)
我做的完全一样,没问题。在我home/_detail.html.erb
页面的index.html.erb
版本(即它位于主目录中)中,我只是输入了相同的代码,它没有问题。您确定拼写是在文件名上写的,并且您保存了文件吗?
您确定要正确拼写内容还是没有放错位置的标签?你的测试说了什么?
另外如果它在head部分,如果你添加了注释标签而不仅仅是纯文本,那么它可能不喜欢它?