rails 3部分内容_不显示

时间:2011-08-02 13:23:24

标签: ruby-on-rails partial-views

我有一个布局(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" %>

2 个答案:

答案 0 :(得分:4)

如果没有看到其他相关代码,很难确定,但这可能是一个订购问题。

从高级别开始,当页面呈现时,它首先加载视图(在布局之前),并且视图中包含content_for的任何部分都应该正常工作。但是,如果在布局而不是视图模板中呈现此部分,则有可能在“yield:stylesheet”之后调用content_for,这将导致它被忽略。

答案 1 :(得分:0)

嗯,你确定部分是在正确的目录中吗?

我做的完全一样,没问题。在我home/_detail.html.erb页面的index.html.erb版本(即它位于主目录中)中,我只是输入了相同的代码,它没有问题。您确定拼写是在文件名上写的,并且您保存了文件吗?

您确定要正确拼写内容还是没有放错位置的标签?你的测试说了什么?

另外如果它在head部分,如果你添加了注释标签而不仅仅是纯文本,那么它可能不喜欢它?