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]