2012-03-03 95 views
0

使用該碼的路徑,滑軌:前綴作用域路由

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例如),纔能有:

  • v1_posts
  • v1_new_post
  • v1_edit_post
  • v1_post

我試着加:name_prefix => 'v1_'這樣:

scope('1', module: 'v1', name_prefix: 'v1_') 

但這不起作用。

注:我on Rails的3.2.2

+0

嘗試https://github.com/intridea/grape – lucapette 2012-03-03 20:24:56

+0

構建目前已破解,並且對於我的需要,這似乎過分了。我想用Rails本身來做。 – Doug 2012-03-03 20:43:00

+0

你不必使用主。重新創造輪子總是矯枉過正。但我理解這種感覺。 – lucapette 2012-03-03 20:58:42

回答

0
scope module: 'admin', as: :v1 do 
    resources :foobar 
end 

工作這給了像 「v1_foobar_path」

說不上路徑,如果這是有幫助的。