我正在做ruby教程,目前我正在上市5.9。部分不会显示在我的app/views/layouts
目录
这是代码,我在OSX 10.8上使用rails 1.8.7。我正在使用rvm
并通过brew install安装:
<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag "application", media: "all",
"data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>
<%= render :partial =>'layouts/shim' %>
</head>
<body>
<%= render :partial => 'layouts/header' %>
<div class="container">
<%= yield %>
</div>
</body>
</html>
我完全按照教程完成了这一点,每隔一段时间我需要调整1.8.7而不是1.9。教程说要做
<%= render'layouts/header' %>
没有用,所以我试过
<%= render :partial => 'layouts/header' %>
并且部分内容仍然没有出现。
答案 0 :(得分:1)
当做部分时,部分必须与你的&#34;调用&#34;在同一文件夹中。 erb
文件,或您指定的文件夹中。此外,partial的名称必须以目录中的下划线(_
)开头。
因此,如果app/views/layouts/application.html.erb
调用了部分shim
和header
,您可以像这样调用它们:
<%= render :partial => "shim" %>
和
<%= render :partial => "header" %>
您必须分别在app/views/layouts/_shim.html.erb
和app/layouts/_header.html.erb
中使用它们。
如果某个部分存在于与您的&#34;调用&#34;不同的文件夹中erb
,例如app/views/foo/_header.html.erb
,然后您从applications
呈现它,如下所示:
<%= render :partial => "foo/header" %>
答案 1 :(得分:1)
我遇到了同样的问题,直到我意识到它应该是<%= render
(我正在使用<% render
)