2011-01-01 16 views
12

In generale devo MenuItems modello e cercando di fare '/ menu_items (/: id (:/some_action))' URL assomiglia '/ menu (/: id (:/some_action))'Rotaie 3 | Routing: come rinominare il titolo della risorsa ora?

In Rails 2.3. 5 è stato

map.resources :menu_items, :as => :menu, :path_names => { :new => 'add' }

Ora in Rails 3.0.3 sono in grado di gestire la cosa con questo enorme comma codice

resources :menu_items, :path_names => { :new => 'add' } 
    match 'menu/' => 'menu_items#index', :as => :menu 
    match 'menu/add' => 'menu_items#new', :as => :new_menu 
    match 'menu/:id' => 'menu_items#show', :as => :show_menu 
    match 'menu/:id/edit' => 'menu_items#edit', :as => :edit_menu

Ma sembra non corretta a causa della enorme quantità di codice. Sembra: funziona come map.some_name di 2nd Rails ora.

Qualsiasi aiuto/suggerimento/guida? (Grazie)

risposta

26

http://guides.rubyonrails.org/routing.html#customizing-resourceful-routes

resources :menu, :controller => "menu_items", :path_names => { :new => "add" } 

uscita è abbastanza vicino a quello che stai dopo:

menu_index GET /menu(.:format)    {:controller=>"menu_items", :action=>"index"} 
      POST /menu(.:format)    {:controller=>"menu_items", :action=>"create"} 
    new_menu GET /menu/add(.:format)   {:controller=>"menu_items", :action=>"new"} 
edit_menu GET /menu/:id/edit(.:format) {:controller=>"menu_items", :action=>"edit"} 
     menu GET /menu/:id(.:format)   {:controller=>"menu_items", :action=>"show"} 
      PUT /menu/:id(.:format)   {:controller=>"menu_items", :action=>"update"} 
      DELETE /menu/:id(.:format)   {:controller=>"menu_items", :action=>"destroy"} 
+0

Grazie! Mi manca. Questo è esattamente ciò di cui ho bisogno. – jibiel

+0

È possibile modificare il nome: come anche per il nome del nuovo percorso? – TheJKFever

13

Un altro modo

resources :menu, :as => :menu_items, :controller => :menu_items 

Questo approccio ha il vantaggio che l'Uscita metodi di supporto come menu_items_path funzionano ancora.

Problemi correlati