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?