0

所以我对 Rails 很陌生,我正在学习本教程并遇到以下问题。

所以我已经像这样设置了我的视图/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

我的视图/布局/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') %>

并将其放置在所有地方。

有什么建议么?

非常感谢!

4

1 回答 1

1

应用程序助手中的 full_title 方法仅更改 html 页面的标题(参见应用程序布局的第 4 行)。h1“关于我们”将保持静止。

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

于 2013-04-24T19:11:15.057 回答