【发布时间】:2015-02-10 02:05:07
【问题描述】:
我刚开始学习 Ruby on Rails,并在一个具有以下设置的简单网站上工作:
resources :categories do
resources :products
end
resources :products do
resources :features
end
但是我不想将 url 暴露给products_controller
/products(.:format) products#index
/products(.:format) products#create
/products/new(.:format) products#new
/products/:id/edit(.:format) products#edit
/products/:id(.:format) products#show
/products/:id(.:format) products#update
/products/:id(.:format) products#update
/products/:id(.:format) products#destroy
我只需要如下所示的路线
/products/:product_id/features(.:format) features#index
/products/:product_id/features(.:format) features#create
/products/:product_id/features/new(.:format) features#new
/features/:id/edit(.:format) features#edit
/features/:id(.:format) features#show
/features/:id(.:format) features#update
/features/:id(.:format) features#update
/features/:id(.:format) features#destroy
我知道上面的路由可以通过标记shallow: true 来完成,但是它仍然会暴露给products_controller 的restful 路径,还有这个问题吗?
【问题讨论】:
标签: ruby-on-rails rest routes nested-routes