无法从Michael Hartl教程中获得这个简单的代码

时间:2013-04-24 18:53:50

标签: ruby-on-rails ruby html5 railstutorial.org

所以我对rails很新,我正在学习本教程,遇到了以下问题。

所以我设置了我的view / helpers / application_helper.rb,如下所示:

module ApplicationHelper
# Returns the full title on a per-page basis.
 def full_title(page_title)
  base_title = "Ruby on Rails Tutorial Sample App"
  if page_title.empty?
   base_title
  else
  "#{base_title} | #{page_title}"
  end
 end 
end

和我的view / layouts / application.html.erb是这样的:

<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag "application", :media => "all" %> <%= javascript_include_tag     "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>

和view / layouts / about.html.erb这样:

<% provide(:title, 'About Us') %>
<h1>About Us</h1>
<p>
The <a href="http://railstutorial.org/">Ruby on Rails Tutorial</a> is a project to make      a book and screencasts to teach web development with <a href="http://rubyonrails.org/">Ruby     on Rails</a>. This
is the sample application for the tutorial.
</p>

现在,从我的立场来看,这意味着它应该像这样显示“关于我们”页面标题

“Ruby on Rails教程示例应用程序|关于我们”

正确?

然而,我所看到的只是:

“关于我们”

我尝试删除

<% provide(:title, 'About Us') %>

并将它放在所有地方。

有什么建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

应用程序助手中的full_title方法仅更改html页面的 title (请参阅应用程序布局的第4行)。 h1“关于我们”将保持不变。

请注意,如果您使用的是Chrome浏览器,则无法在浏览器顶部看到标题(请参阅Hartl's Rails教程的3.3.1部分)。