2012-01-27 17 views
7

Ho prossimi risorserotaie di routing risorse nidificate

resources :countries do 
    resources :cities 
end  

resources :cities do 
    resources :streets 
end 

genera prossimi rotte

GET /countries/:country_id/cities(.:format)       cities#index 
POST /countries/:country_id/cities(.:format)       cities#create 
new_country_city GET /countries/:country_id/cities/new(.:format)      cities#new 
edit_country_city GET /countries/:country_id/cities/:id/edit(.:format)     cities#edit 
GET /countries/:country_id/cities/:id(.:format)      cities#show 
PUT /countries/:country_id/cities/:id(.:format)      cities#update 
DELETE /countries/:country_id/cities/:id(.:format)      cities#destroy 


...... 
cities GET /cities(.:format)            cities#index 
POST /cities(.:format)            cities#create 
new_city GET /cities/new(.:format)           cities#new 
edit_city GET /cities/:id/edit(.:format)          cities#edit 
city GET /cities/:id(.:format)           cities#show 
PUT /cities/:id(.:format)           cities#update 
DELETE /cities/:id(.:format)           cities#destroy 

Non voglio l'accesso alle città può essere senza paese id, ma anche io non voglio usare 3 -levels risorse nidificate, così posso cambiare le rotte come prossimo

resources :countries do 
     resources :cities 
    end  

    resources :cities, :except => [:index, :destroy, :edit, :show, :create, :new, :update] do 
     resources :streets 
    end 

c'è una sorta di scorciatoia per disabilitare tutte le azioni, invece di scrivere tutte le azioni predefinite a: tranne l'opzione ????

risposta

15
resources :cities, :only => [] do 
    ... 
end 
+0

ah facile .... grazie – Fivell

+0

in Rails 2.2, si potrebbe fare ': tranne =>: all' ma che non funzionano più. Grazie per questo. – Ashitaka

1

Puoi seguire questa percorsi

 
    resources :topics do 
    resources :solutions 
    end 

    resources :solutions, only: [] do 
    resources :reviews, except: [:show, :index] 
    end 
Problemi correlati