Ruby On Rails不会加载@content_for_layout

时间:2010-12-10 19:56:06

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems

我使用以下代码创建了一个新网站

rails new new_site

我在我的site.rhtml文件中添加了一个站点控制器

<html>
    <head>
        <title><%= @title %></title>
    </head>
    <body>
        <%= link_to("Home", { :action => "index" }) %> |
        <%= link_to("About Us", { :action => "about" }) %> |
        <%= link_to("Help", { :action => "help" }) %>
        <%= @content_for_layout %>
    </body>
</html>

我有3个文件(about.rhtmlhelp.rhtmlindex.rhtml

每个文件都有HTML视图的基本代码

以下是help.rhtml

的代码
<h1>Help</h1>
<p>This page will contains instructions and a frequently asked questions.</p>

问题是当我点击帮助链接时。标题更改但内容未加载。

2 个答案:

答案 0 :(得分:2)

你正在关注一个旧教程吗?请尝试以下方法..

应位于layouts目录中名为application.html.erb的文件中

<html>
    <head>
        <title></title>
    </head>
    <body>
        <%= link_to("Home", { :action => "index" }) %> |
        <%= link_to("About Us", { :action => "about" }) %> |
        <%= link_to("Help", { :action => "help" }) %>
        <%= yield %>
    </body>
</html>

或者如果您只想将其用于站点控制器,请使用site.html.erb

答案 1 :(得分:2)

看起来你正在关注一个非常古老的教程。

我建议停止并阅读the official guides(有一个很棒的“Getting Started”指南)或a book