我正在关注迈克尔·哈特尔(Michael Hartl)railstutorial.org 的截屏视频。根据第5章,我改变了config/routes.rb 到:
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的新手。我在浏览器中收到路由错误
没有与"/页面/联系人"匹配的路由
我正在使用 ruby 1.9.2p180 (2011-02-18 修订版 30909) [x86_64-linux],导轨 3.0.7 和 GEM 1.6.2请帮忙。
您的路线已设置一个级别。/pages/contact 没有路由,给定您的路由文件,正确的路由是"/contact"。
对于后来者,我只是遇到了同样的问题。教程中的代码不应在这些语句之后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