Dare che ho un modello chiamato Apple
e ha un controller ApplesController
, i percorsi sono:Come rinominare le rotte REST nell'URL?
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"}
Vorrei mantenere tutto il codice stesso, salvo che negli URL, la "mela" sarebbe stato sostituito in macchina". Pertanto, l'URL /apples/new
diventerebbe /cars/new
.
C'è un modo per farlo senza toccare nessun altro codice nell'app? (Vale a dire all'interno della app, è ancora apple
e ApplesController
)
ho provato :as
opzione:
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"}
Ma che solo ha cambiato il "nome" del percorso, non l'URL (in modo new_apple_path
diventato new_car_path
, ma new_car_path
punti ancora in /apples/new
invece di /cars/new
)
Solo per completezza, in Rails 2.3 sarebbe stato: 'risorse: mele,: come =>" auto "' –
Sono nuovo di Rails (4), ma come cambia solo gli helper del percorso. Gli URL generati non cambiano. : path => "xxx" cambia gli URL – luigi7up