Michael Hartl による Ruby on Rails チュートリアルに従っていますが、うまくいかない例に行き詰まっています。コードが application.html.erb ファイルにのみ存在するように、.erb ファイルから重複したコードを削除しようとしています。古い home.html.erb ファイルではすべてうまくいきます (ホームに対して GET を実行するとコンテンツが表示されます) が、重複コードを排除するために使用するはずのファイルではコンテンツが表示されません。テストの結果、古いファイルからタイトル タグを削除するだけでもコンテンツが消えてしまうことがわかりました。
なぜそれが起こっているのですか?チュートリアルが間違っていますか、それとも何か見逃していましたか?
application.html.erb:
<!DOCTYPE html>
<html>
<head>
<title>Title | <%= yield(:title) %></title>
<title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
home.html.erb
<% provide(:title, 'Home') %>
<h1>Sample App</h1>
<p>
This is the home page for the
<a href="http://railstutorial.org/">Ruby on Rails Tutorial</a>
sample application.
</p>
古い home.html.erb:
<% provide(:title, 'Home') %>
<!DOCTYPE html>
<html>
<head>
<title>Title | <%= yield(:title) %></title>
</head>
<body>
<h1>Sample App</h1>
<p>
This is the home page for the
<a href="http://railstutorial.org/">Ruby on Rails Tutorial</a>
sample application.
</p>
</body>
</html>