2011-04-26 142 views
0

我一直在學習Rails的教程@Noupe。它運行良好,應用程序正常工作,但我收集它是爲Rails 2編寫的,所以有一些不贊成使用的代碼段。Rails 3 vs. Rails 2路由問題

雖然我已經解決了其中大部分問題,但我仍然有一個路由問題。本教程中的軌道2的代碼是:

ActionController::Routing::Routes.draw do |map|
map.resources :posts
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end

這工作得很好,但它是舊代碼。我試圖重寫代碼如下:

Twitter::Application.routes do
resources :posts
match ':controller/:action/:id'
match ':controller/:action/:id.:format'
end

這將導致一個錯誤,當我試圖訪問http://localhost:3000/posts -

路由錯誤 沒有路由匹配「/帖」

燦有人提出我要去哪裏錯了?我注意到,如果我在第一行(而不是Twitter)上編寫twitter,我會得到一個編譯器錯誤 - 因爲我的應用程序名爲twitter,所以我認爲這可能是問題,但它似乎不是。

任何幫助非常感謝!

回答

1

看來你似乎錯過了對方法繪製的調用。嘗試將第一行更改爲以下內容:

Twitter::Application.routes.draw do 
+0

這就解決了 - 感謝您的幫助! – 2011-04-27 08:36:46

+0

僅供參考,我之前沒有這麼做的原因是Rails3發行說明的第7.3節 - 它們表示一個不包含繪製方法的示例。 – 2011-04-27 08:37:50

+0

不好的例子,但很高興聽到它解決。 – DanneManne 2011-04-27 08:40:15