ruby-on-rails – rails路由嵌套资源

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – rails路由嵌套资源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有下一个资源
resources :countries do
    resources :cities
 end    

 resources :cities do
    resources :streets
 end

它会产生下一条路线

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

我不希望访问城市可以没有国家ID但我也不想使用3级嵌套资源,所以我可以改变下一个路线

resources :countries do
        resources :cities
     end    

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

是否有某种快捷方式可以禁用所有操作,而不是写入所有默认操作:除了选项????

解决方法

resources :cities,:only => [] do
    ...
end
原文链接:https://www.f2er.com/ruby/269248.html

猜你在找的Ruby相关文章