Como renomear rotas REST no URL?
Dê que eu tenho um modelo chamadoApple
e tem um controladorApplesController
, as rotas são:
resources :apples
apples GET /apples (.:format) {:controller=>"apples ", :action=>"index"}
new_apple GET /apples /new(.:format) {:controller=>"apples ", :action=>"new"}
edit_apple GET /apples /:id/edit(.:format) {:controller=>"apples ", :action=>"edit"}
Gostaria de manter todo o código igual, exceto que nos URLs a "maçã" seria substituída por "carro". Então, o URL/apples/new
se tornaria/cars/new
.
Existe alguma maneira de fazer isso sem tocar em nenhum outro código no aplicativo? (ou seja, internamente no aplicativo, ainda éapple
eApplesController
)
eu tentei:as
opção:
resources :apples, :as => "cars"
cars GET /apples (.:format) {:controller=>"apples ", :action=>"index"}
new_car GET /apples /new(.:format) {:controller=>"apples ", :action=>"new"}
edit_car GET /apples /:id/edit(.:format) {:controller=>"apples ", :action=>"edit"}
Mas isso mudou apenas o "nome" da rota, não o URL (entãonew_apple_path
tornou-senew_car_path
, masnew_car_path
ainda aponta para/apples/new
ao invés de/cars/new
)