¿Cómo cambiar el nombre de las rutas REST en la URL?
Dame que tengo un modelo llamadoApple
y tiene un controladorApplesController
, las rutas son:
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"}
Me gustaría mantener todo el código igual, excepto que en las URL, la "manzana" se reemplazaría por "auto". Entonces, la URL/apples/new
se convertiría/cars/new
.
¿Hay alguna forma de hacer esto sin tocar ningún otro código en la aplicación? (es decir, internamente en la aplicación, sigue siendoapple
yApplesController
)
Lo intenté:as
opción
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"}
Pero eso solo cambió el "nombre" de la ruta, no la URL (entoncesnew_apple_path
convirtiónew_car_path
, peronew_car_path
todavía apunta a/apples/new
en lugar de/cars/new
)