2012-11-03 68 views
1

我被困在试图配置Rails路由的Rails tutorial中。Ruby on Rails routes.rb

这是我的routes.rb:

SampleApp::Application.routes.draw do 
    match '/', :to => 'static_pages#home', :via => :get 
    match '/help',:to => 'static_pages#help', :via => :get 
    match '/about', :to => 'static_pages#about', :via => :get 
    match '/contact', :to => 'static_pages#contact', :via => :get 

当我尝试访问 “本地主机” 我得到:

没有路由匹配[GET] “/ static_pages /帮助” 尝试运行耙有关可用路线的更多信息,请致电 。

我也试过:

match '/', :to => 'static_pages#home' 
    match '/help',:to => 'static_pages#help' 
    match '/about', :to => 'static_pages#about' 
    match '/contact', :to => 'static_pages#contact' 

但给出了同样的错误。它只适用于我使用时:

get 'static_pages/about' 

我怎样才能让localhost工作?

回答

0

尝试把以下在routes.rb中

match ':action' => 'static#:action' 

末再到/help请求将呈现app/views/static/help.html.erb。不要忘记创建static控制器,尽管它是空的。

+0

我所做的:SampleApp :: Application.routes.draw做 匹配 '/',:到=> 'static_pages#家' 匹配 '/帮助',:要= >'static_pages#help' match'/ about',:to =>'static_pages#about' match'/ contact',:to =>'static_pages#contact' match':action'=>'static#:行动',但它仍然不起作用,同样的问题 – user1796624

+0

什么'耙路线'打印?你可能想把它放在www.pastebin.com –

+0

上我的情况':action'=>'static_pages#action'and'static_pages /:action'=>'static_pages#action' – user1796624

0

试试这个:

match '/help', to: 'static_pages#help' 
match '/about', to: 'static_pages#about' 
match '/contact', to: 'static_pages#contact' 
+0

SyntaxError,/ home/marko/ror /sample_app/config/routes.rb:2:语法错误,意外的':',期待kEND 匹配'/ help',以:'static_pages#help' ^ – user1796624

+0

即时通讯使用Rails 3.2.8和ruby 1.8.7 – user1796624

+0

是的,这个语法在ruby 1.8.x中不起作用。我可以尝试安装更新版本的红宝石像1.9.3 ...我希望在我的情况下':行动'=>'static_pages#行动'和'static_pages /:行动'=>'static_pages#行动'将工作 –