我使用的是Rails 2.3.8应用程序。我有一个包含
的布局文件
<%= yield :head %>
我在应用程序的不同部分调用了以下代码:
<% content_for :head do %>
<meta name="keywords" content="" />
<% end %>
我尝试在视图文件home
中添加该代码。我从_abc
调用的home
调用了它,它通过在meta
部分添加head
代码也按预期工作。但是,当我从_def
调用_abc
调用的部分home
中添加代码时,meta
标记未显示!!!
我没有理解发生了什么......以及如何绕过这个问题
更新:无效的案例是:
home.html.erb:
<%= render :partial=>"_abc"%>
_abc.html.erb:
<%= render :partial=>"_def"%>
_def.html.erb:
<% content_for :head do %>
<meta name="keywords" content="" />
<% end %>
非常感谢
答案 0 :(得分:2)
这是一个老问题,但我遇到了类似的问题。想想我发布我的问题/解决方案以防其他人来到这里。
哪个档案是&lt;%= yield:head%&gt;在?我遇到了这个问题,结果证明我的收益是在“/layouts/application.html.erb”文件中......但是被调用的视图使用了不同的布局文件,即“/layouts/listings.html.erb”。一旦我将产量移到正确的文件中,一切都运行良好,我的描述与你描述的设置完全相同。