0
我有以下路由。rails3路由问题
pota.resources :on_k,
:as => ':klass',
:path_prefix => 'pota/klass',
:controller => 'main'
当我做耙路线,这是我所得到的显示方法:
pota_on_k GET /pota/klass/:klass/:id(.:format)
{:action=>"show", :controller=>"pota/main"}
上面的代码工作中轨2.X罚款。但是,如果我使用rails3,然后我得到以下错误
ActionController::RoutingError: No route matches
{:action=>"show", :controller=>"pota/main", :klass=>"vehicle/door", :id=>1}
请注意,我通过'车辆/门'为:克拉斯。如果我传递一个标准模型,如:klass =>'pet',那么它工作正常。但是,如果我传递一个嵌套的模型名称,如:klass =>'vehicle/door',那么我会在rails3中得到路由错误。
我想这是因为我在值中有'/'。我可以通过一个正则表达式来解决这个问题,但我也可以通过:klass,它不是嵌套的。
在样车::汽车类我做
Vehicle::Car.underscore #=> vehicle/car
"vehicle/car".camelize.constantize #=> Vehicle::Car
这下划线和camelize/constantize对对方可以更容易地通过嵌套类的名称。
任何想法如何去解决它的rails3?