, но все еще используя тот же контроллер / действие.

то у меня модель называется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)

Ответы на вопрос(2)

Ваш ответ на вопрос