2013-05-10 64 views
1

我有Vehicle和STI型號CarMotorcycleRails3路線STI型號

我目前已經配置的路線如下:

resources :vehicles 
resources :cars 
resources :motorcycles 

不過,我想它應該是這樣的漂亮:

/vehicles/ #all the methods of vehicles_controller 
/vehicles/cars/ #all the methods of cars_controller 
/vehicles/motorcycles/ #all the methods of motorcycles_controller 

我應該如何去配置它來獲取URL ?

回答

2

我認爲你可以做到以下幾點:

resources :vehicles 
scope "/vehicles" do 
    resources :cars, :motorcycles 
end 

或者這樣說:

resources :vehicles 
resources :cars, :path => "/vehicles/cars" 
resources :motorcycles, :path => "/vehicles/motorcycles" 

您可以找到有關軌道的詳細信息路由位置:http://guides.rubyonrails.org/routing.html

1

你可以寫:

resources :vehicles do 
    resources :cars 
    resources :motorcycles 
end 
0

您可以編寫嵌套的路線是這樣的:

resources :vehicles do 
    resources :cars 
    resources :motorcycles 
end 

這會給你喜歡的路線:

/vehicles #index action for vehicles controller 
/vehicles/:id #show action for vehicles controller 
/vehicles/:vehicle_id/cars #index action for cars controller, with the :vehicle_id param available 
/vehicles/:vehicle_id/cars/:id #show action for cars controller, with the :vehicle_id param available 
etc.