2011-04-26 108 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