我遵循Michael Hartl的Ruby on Rails教程,我堅持一個不適合我的例子。 我嘗試從.erb文件中刪除重複代碼,以便代碼僅存在於application.html.erb文件中。使用舊的home.html.erb文件,一切都很順利(當我爲家庭做一個GET時,顯示的內容就是這樣),但是用我應該用來消除重複代碼的內容時,沒有顯示任何內容。經過測試,我發現即使從舊文件中刪除標題標籤也足以使內容消失。Ruby on Rails中的.erb文件中是否需要html結構?
任何想法爲什麼發生這種情況?該教程是錯誤的還是我錯過了什麼?
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>
什麼是你的'home.html.erb'?它是一個佈局嗎? –
你可以顯示控制器嗎? – crazybob
我的home.html.erb是一個視圖,application.html.erb是我的佈局。 – Panagiotis