本地和DreamHost服务器端,路由解析不同的问题

我的 routes.rb :
[code="ruby"]
map.namespace :blog do |blog|
blog.resources :posts, :collection => { :list => :get }
blog.resources :comments
end

map.namespace :admin do |admin|
admin.namespace :blog do |blog|
blog.resources :posts
blog.resources :comments
end
end
[/code]

在本地的console中, rs = ActionController::Routing::Routes

rs.recognize_path('/admin/blog/posts')
=> {:controller=>"admin/blog/posts", :action=>"index"}
[color=green]正常[/color]

在DreamHost中

rs.recognize_path("/admin/blog/posts")
=> {:controller=>"admin", :id=>"posts", :action=>"blog"}
[color=green]错误[/color]

查看了DreamHost和我本地的rails版本,都是2.1.0的.
不知道还有什么会造成这样的影响.

我也有这个问题,不过目前没有找到好的解决办法,通过对比环境发现是环境设置问题,(config\environments目录下的环境配置文件)在本地因为是开发环境所以config.cache_classes = false 但是产品环境config.cache_classes = true 也就是这个差别造成的,都是缓存惹的祸吧。现在只需要把产品环境中的config.cache_classes设置为false就不会出现这种情况了,显然这不是最好的解决办法,希望有更好的解决办法。
引起的原因就是缓存了同名类,加载admin下的同名类时他先中缓存中找有没有同名类,如果找到就不再加载了,但是他找错了!呵呵!