2012-01-27 15 views
7

mam następujące zasobyszyny routingu zagnieżdżonych zasobów

resources :countries do 
    resources :cities 
end  

resources :cities do 
    resources :streets 
end 

generuje kolejne szlaki

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 

Nie chcę dostęp do miast może być bez id kraju, ale też nie chcę używać 3 -levels zagnieżdżonych zasobów, więc mogę zmienić trasy, takie jak następne:

resources :countries do 
     resources :cities 
    end  

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

Czy jest jakiś skrót do wyłączenia wszystkich akcji zamiast zapisu wszystkich domyślnych akcji na: z wyjątkiem opcji ????

Odpowiedz

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

ah łatwe .... dzięki – Fivell

+0

w Rails 2.2, można zrobić ': oprócz =>: all' ale nie pracuje już. Dzięki za to. – Ashitaka

1

Możesz śledzić tej trasy

 
    resources :topics do 
    resources :solutions 
    end 

    resources :solutions, only: [] do 
    resources :reviews, except: [:show, :index] 
    end 
Powiązane problemy