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
是否有某种快捷方式来禁用所有资源操作而不是在 : except 选项中写入所有默认操作????
I have next resources
resources :countries do
resources :cities
end
resources :cities do
resources :streets
end
it generates next routes
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
I dont want access to cities can be without country id but also I don't want to use 3-levels nested resources, so I can change routes like next
resources :countries do
resources :cities
end
resources :cities, :except => [:index, :destroy, :edit, :show, :create, :new, :update] do
resources :streets
end
Is there some kind of shortcut to disable all action instead of write all default actions at :except option ????
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你可以按照这个路线
You can follow this routes