2012-11-03 70 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#行動'將工作 –