다음 경로가 있습니다. 코드 위rails3 routes issue
pota_on_k GET /pota/klass/:klass/:id(.:format)
{:action=>"show", :controller=>"pota/main"}
은 레일 2.X에서 잘 작동 : 나는 레이크 경로를 수행 할 때
pota.resources :on_k,
:as => ':klass',
:path_prefix => 'pota/klass',
:controller => 'main'
이 나는 쇼 방법을 얻을 것입니다. 그러나 레일즈 3을 사용하고 있다면 다음과 같은 에러가 난다.
ActionController::RoutingError: No route matches
{:action=>"show", :controller=>"pota/main", :klass=>"vehicle/door", :id=>1}
나는 'vehicle/door'를 다음과 같이 전달하고 있음을 주목하라. klass => 'pet'와 같은 표준 모델을 통과하면 잘 작동합니다. 그러나 중첩 된 모델 이름을 전달하는 경우 : klass => 'vehicle/door'그러면 rails3에서 라우트 오류가 발생합니다.
내가 '/'값을 가지고 있기 때문에 그럴 것 같습니다. 나는 정규식을 가짐으로써 그것을 해결할 수있다. 그러나 나 또한 통과 할 수도있다 : 중첩되지 않은 klass. 자동차 : 자동차와 같은 클래스에
나는Vehicle::Car.underscore #=> vehicle/car
"vehicle/car".camelize.constantize #=> Vehicle::Car
다른 쪽이 밑줄 및 camelize/constantize가 쉽게 중첩 된 클래스 이름을 전달 할 수 않습니다.
rails3을 수정하는 방법에 대한 아이디어가 있습니까?