使用此代码,
scope(:module => 'api', constraints: {subdomain: 'api'}, defaults: {format: 'json'}) do
scope('1', module: 'v1') do
resources :posts
end
end
创建以下路线:
posts GET /1/posts(.:format) api/v1/posts#index {:format=>"json"}
POST /1/posts(.:format) api/v1/posts#create {:format=>"json"}
new_post GET /1/posts/new(.:format) api/v1/posts#new {:format=>"json"}
edit_post GET /1/posts/:id/edit(.:format) api/v1/posts#edit {:format=>"json"}
post GET /1/posts/:id(.:format) api/v1/posts#show {:format=>"json"}
PUT /1/posts/:id(.:format) api/v1/posts#update {:format=>"json"}
DELETE /1/posts/:id(.:format) api/v1/posts#destroy {:format=>"json"}
在API命名空间中确定路由是有用的,这种方式在API更改时,没有任何冲突。除了路径......
我们如何为路径添加前缀(例如v1
),以便:
我试图像这样添加:name_prefix => 'v1_'
:
scope('1', module: 'v1', name_prefix: 'v1_')
但这不起作用。
注意:我正在开发Rails 3.2.2
答案 0 :(得分:0)
scope module: 'admin', as: :v1 do
resources :foobar
end
这给出了像“v1_foobar_path”
这样的路径Dunno,如果这有用的话。