2013-10-20 42 views
0

我正在使用St. Laurent & Edd Dumbill的Learning Rails書籍。從上面chp3中的佈局練習中拆分視圖時,我收到了缺少的模板錯誤。從佈局分割視圖時缺少模板錯誤

請幫我理解爲什麼會發生下面的錯誤。

模板丟失 缺少佈局佈局/ hello.html.erb鑑於路徑C:/ InstantRails的/ rails_apps /你好/應用/視圖

控制器信息: 名稱:hello_controller

路徑:C :\ INSTAN〜1個\ rails_apps \你好\應用\控制器

代碼:

class HelloController <ApplicationController 

def index 
@message="Hello!" 

@count=3 

@bonus="This message came from the controller." 
end 

查看信息:

名稱:index.html的

路徑:C:\ INSTAN〜1個\ rails_apps \你好\程序\意見\你好

代碼:

<h1><%=h @message %></h1> 
<p>This is a greeting from app/views/hello/index.html.erb</p> 
<% for i in [email protected] %> 
<p><%= @bonus %></p> 
<% end %> 

姓名:hello.html.erb

路徑: C:\ INSTAN〜1 \ rails_apps \ hello \ app \ views \ layouts

代碼:

<html> 
<head><title><%=h @message %> </title> 
<% stylesheet_link_tag 'hello' %> 

</head> 
<body> 
(using layout) 
<!--layout will incorporate view--> 
<%= yield :layout %> 

</body> 
</html> 
+0

請繼續閱讀並瞭解有關調試Rails應用程序的信息http://nofail.de/2013/10/debugging-rails-applications-in-development/ – phoet

回答

0

仔細檢查所有的文件名。我只是複製這三個文件到我的測試項目(導軌4),它似乎工作正常。您錯過了控制器類中的一個關閉「結束」(可能只是複製&粘貼錯誤)。

+0

您當場了。 –

+0

我的erb文件格式不正確。我的錯誤是我從記事本創建了erb文件,因爲我不知道如何手動在instantrails中創建它。爲了解決我的問題,我將我的index.html文件從hello \ app \ views文件夾複製到佈局目錄。然後,我重新命名了該文件並將上面的代碼複製到其中。如果我使用腳手架,我不認爲我會遇到這個問題。不幸的是,這個教訓是我書中的第5章。 –

0

也許你已經忘記了包括控制文件中的佈局名稱:

class HelloController < ApplicationController 

layout "Hello" 

def index 
    #your code goes here. 
end 

該佈局部分將尋找應用程序/視圖/設計/ hello.html.erb。