所以我对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') %>
并将它放在所有地方。
有什么建议吗?
非常感谢!
答案 0 :(得分:1)
应用程序助手中的full_title方法仅更改html页面的 title (请参阅应用程序布局的第4行)。 h1“关于我们”将保持不变。
请注意,如果您使用的是Chrome浏览器,则无法在浏览器顶部看到标题(请参阅Hartl's Rails教程的3.3.1部分)。