map.resources :oo,:as => 'xx'的问题

Rails下遇到一个问题,在route.rb里配置如下:
[code="java"]map.resources :oo,:as => 'xx'[/code]
也试过如下配置:
[code="java"]map.resources :oo,:controller => 'xx'[/code]
结果是一样的。

在浏览器里执行 http://localhost:3000/xx
报错如下:
ActionController::MethodNotAllowed

Only get and post requests are allowed.

晕啊,与这个有个屁相关啊,实在是想不明白。
[b]问题补充:[/b]
map.resources :oo, :collection => {'xx' => :get}

rails就是这样玩的,有什么办法

liuqiang (高级程序员) 2008-10-29

你理解错我的意思了,
map.resources :oo,:controller => 'xx'
我是想把url:/oo 指向xx这个controller

map.resources :oo, :collection => {'xx' => :get}

rails就是这样玩的,有什么办法

你确定你的程序在路由方面 没有其实的错误??

正确的做法就是如你所说使用as来指定别名的

引用官方wiki

[quote]:as - Specify a different resource name to use in the URL path. For example: [/quote]
[code:ruby]
# products_path == '/productos'
map.resources :products, :as => 'productos' do |product|
# product_reviews_path(product) == '/productos/1234/comentarios'
product.resources :product_reviews, :as => 'comentarios'
end

[/quote]