Apple
adında bir modelim olduğunu ve ApplesController
kontrolörüne sahip olduğunu belirtin:URL'de REST rotaları nasıl yeniden adlandırılır?
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"}
Tüm kodları aynı tutmak istiyorum, URL'lerde "apple" yerine "car". Yani, /apples/new
URL'si /cars/new
olur.
Uygulamanın diğer kodlarına dokunmadan bunu yapmanın bir yolu var mı? (yani, uygulamada dahili olarak, hala apple
ve ApplesController
)
:as
seçeneğini denedim:
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"}
Ancak bu yalnızca URL'nin değil "yolunun" adını değiştirdi (new_apple_path
new_car_path
oldu, ama new_car_path
hala /cars/new
yerine /apples/new
değerini gösterir.
Sadece tamlık için, Rails 2.3'de şöyle olurdu: 'kaynaklar: elmalar,: as =>" arabalar "' –
Rails (4) için yeniyim, ancak yalnızca yol yardımcılarını değiştiriyor. Oluşturulan URL'ler değişmez. : yol => "xxx" URL’leri değiştiriyor – luigi7up