2011-01-01 18 views
12

Generalmente tengo MenuItems modelo y tratar de hacer '/ menu_items (/: id (:/some_action))' URL se parece a '/ menú (/: id (:/some_action))'Rieles 3 | Enrutamiento: ¿cómo cambiar el nombre del título del recurso ahora?

En Rails 2.3. 5 era

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

Ahora en Rails 3.0.3 soy capaz de manejar el uso de esta enorme párrafo del código

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

Pero parece incorrecto debido a la enorme cantidad de código. Parece: como funciona como el mapa de 2nd Rails.some_name ahora.

¿Alguna ayuda/sugerencias/guías? (Gracias)

Respuesta

26

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

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

salida está muy cerca de lo que está buscando:

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

Gracias! Lo extraño. Eso es exactamente lo que necesito. – jibiel

+0

¿Es posible cambiar el as: nombre también para el nuevo nombre de ruta? – TheJKFever

13

Otra forma

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

Este enfoque tiene la ventaja de que el excitante Los métodos auxiliares como menu_items_path aún funcionan.

Cuestiones relacionadas