chi*_*ram 2 routes ruby-on-rails
此路线设置
namespace :api, path: nil, except: [:new, :edit] do
resources :blogs do
resources :comments
end
end
Run Code Online (Sandbox Code Playgroud)
给了我这个,没关系.
GET /blogs/:blog_id/comments(.:format) api/comments#index
POST /blogs/:blog_id/comments(.:format) api/comments#create
GET /blogs/:blog_id/comments/:id(.:format) api/comments#show
PATCH /blogs/:blog_id/comments/:id(.:format) api/comments#update
DELETE /blogs/:blog_id/comments/:id(.:format) api/comments#destroy
GET /blogs(.:format) api/blogs#index
POST /blogs(.:format) api/blogs#create
GET /blogs/:id(.:format) api/blogs#show
PATCH /blogs/:id(.:format) api/blogs#update
DELETE /blogs/:id(.:format) api/blogs#destroy
Run Code Online (Sandbox Code Playgroud)
但是当我在上面的设置中添加"shallow:true"时
namespace :api, path: nil, except: [:new, :edit] do
resources :blogs, shallow: true do
resources :comments
end
end
Run Code Online (Sandbox Code Playgroud)
一个不需要的路径'/ api'出现了.
/api/blogs/:blog_id/comments(.:format) api/comments#index
/api/blogs/:blog_id/comments(.:format) api/comments#create
/api/comments/:id(.:format) api/comments#show
/api/comments/:id(.:format) api/comments#update
/api/comments/:id(.:format) api/comments#destroy
/blogs(.:format) api/blogs#index
/blogs(.:format) api/blogs#create
/api/blogs/:id(.:format) api/blogs#show
/api/blogs/:id(.:format) api/blogs#update
/api/blogs/:id(.:format) api/blogs#destroy
Run Code Online (Sandbox Code Playgroud)
这是Rails 4中的预期行为吗?我应该分别写每个资源吗?
你需要指定shallow_path:
namespace :api, path: nil, shallow_path: nil, except: [:new, :edit] do
resources :blogs, shallow: true do
resources :comments
end
end
Run Code Online (Sandbox Code Playgroud)
给你这个:
Prefix Verb URI Pattern Controller#Action
blog_comments GET /blogs/:blog_id/comments(.:format) api/comments#index
POST /blogs/:blog_id/comments(.:format) api/comments#create
api_comment GET /comments/:id(.:format) api/comments#show
PATCH /comments/:id(.:format) api/comments#update
PUT /comments/:id(.:format) api/comments#update
DELETE /comments/:id(.:format) api/comments#destroy
api_blogs GET /blogs(.:format) api/blogs#index
POST /blogs(.:format) api/blogs#create
api_blog GET /blogs/:id(.:format) api/blogs#show
PATCH /blogs/:id(.:format) api/blogs#update
PUT /blogs/:id(.:format) api/blogs#update
DELETE /blogs/:id(.:format) api/blogs#destroy
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1036 次 |
| 最近记录: |