2011-05-07 22 views
0

我正在關注來自railstutorial.org的Michael Hartl的Screencast。根據第5章,我改變 配置/ routes.rb中於:路由錯誤Michael Hartl的截屏來自railstutorial.org

SampleApp::Application.routes.draw do 
    match '/contact', :to => 'pages#contact' 
    match '/about', :to => 'pages#about' 
    match '/help', :to => 'pages#help' 
    root :to => 'pages#home' 
end 

和_footer.html.erb到:

  • <%=的link_to 「關於」,about_path%>
  • <%=的link_to 「聯繫」,contact_path%>

和_header.html.erb到:

<% logo = image_tag("logo.png", :alt => "Sample App", :class => "round") %> 
<%= link_to logo, root_path %> 
<nav class="round"> 
    <ul> 
     <li><%= link_to "Home", root_path %></li> 
     <li><%= link_to "Help", help_path %></li> 

我是新來的Ruby on Rails的。我得到一個路由錯誤在瀏覽器中

沒有路由匹配「/頁/接觸」

我使用紅寶石1.9.2p180(2011-02-18修訂30909)x86_64的Linux的], 軌3.0.7和寶石1.6.2 請幫助。

回答

1

您的路線設置了一個級別。沒有/ pages/contact的路由,根據路由文件,正確的路由是「/ contact」。

+0

非常感謝..但我不能訪問我的主頁 – Wasi 2011-05-07 19:35:48

+0

你有刪除的公共/ index.html的?如果沒有,那麼即使在您的routes.rb文件中設置了root:to,它也將始終提供服務。 – Gazler 2011-05-07 19:37:32

0

對於遲來者,我只是有這個相同的問題。來自教程的代碼在這些match語句之後不應有end。如果你看一下config/routes.rb的最後一行,你會看到並且在那裏看到end。這是你唯一需要的結局。

相反的:

SampleApp::Application.routes.draw do 
    match '/contact', :to => 'pages#contact' 
    match '/about', :to => 'pages#about' 
    match '/help', :to => 'pages#help' 
    root :to => 'pages#home' 
end 

它應該是:

SampleApp::Application.routes.draw do 
    match '/contact', :to => 'pages#contact' 
    match '/about', :to => 'pages#about' 
    match '/help', :to => 'pages#help' 
    root :to => 'pages#home' 

# All those commented out rules 
# All those commented out rules 
# All those commented out rules 
end 
相關問題