, но все еще используя тот же контроллер / действие.
то у меня модель называетсяApple
и у него есть контроллерApplesController
, маршруты:
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"}
Я хотел бы, чтобы весь код оставался неизменным, за исключением того, что в URL «яблоко» будет заменено на «автомобиль». Итак, URL/apples/new
станет/cars/new
.
Есть ли способ сделать это, не касаясь какого-либо другого кода в приложении? (то есть внутри приложения, оно все ещеapple
а такжеApplesController
)
Я пытался:as
опция:
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"}
Но это только изменило «имя» маршрута, а не URL (такnew_apple_path
сталnew_car_path
, ноnew_car_path
еще указывает на/apples/new
вместо/cars/new
)