如果您没有使用/profile/1/posts
或/profile/1/posts/1
不需要嵌套路由。但是,我敦促您重新考虑,嵌套路由可以生成干净的 RESTful API
例如,整洁的小嵌套路由:
resources :profile, :shallow => true do
resources :posts
end
将为您提供所有这些真正有用的路线:
profile_posts GET /profile/:profile_id/posts(.:format) 帖子#index
POST /profile/:profile_id/posts(.:format) 帖子#create
new_profile_post GET /profile/:profile_id/posts/new(.:format) 帖子#new
edit_post GET /posts/:id/edit(.:format) 帖子#edit
发布 GET /posts/:id(.:format) 帖子#show
PUT /posts/:id(.:format) 帖子#update
删除 /posts/:id(.:format) 帖子#destroy
profile_index GET /profile(.:format) profile#index
POST /profile(.:format) profile#create
new_profile GET /profile/new(.:format) profile#new
edit_profile GET /profile/:id/edit(.:format) profile#edit
profile GET /profile/:id(.:format) profile#show
PUT /profile/:id(.:format) profile#update
删除 /profile/:id(.:format) profile#destroy
这样,您必须在必要/有用时自由选择嵌套路由,例如
GET /profile/:profile_id/posts/new(.:format) # create a new post for the given profile_id
GET /profile/:profile_id/posts(.:format) # return all posts for the given profile_id
并使用不需要嵌套路由的浅层路由