2012-01-18 119 views
2

我有這樣的範圍:範圍訪問軌3.1

scope ":user_id", :as => "user" do 
resources :boards, :controller => 'users/boards' 
end 

我得到這樣的路線:

http://localhost/hyperrjas/boards/ 

我想不一個URL然後的routes.rb我補充一下:

scope ":user_id", :as => "user" do 
resources :boards, :controller => 'users/boards', :path => '/' 
end 

T帽子效果很好,但它仍然可以通過「/板」訪問......我如何防止這種情況發生? (我用Rails 3.1)

+0

你有沒有試過在你的資源行的末尾加入:except => [:index]? –

回答

0

你不應該使用資源時指定控制器名稱,在這種乾酪將使用嵌套的資源:

resource :user, only: :show do 
    resources :boards 
end 

這應該給你以下幾點:

  • /:user_id說明
  • /:USER_ID /板
  • /:USER_ID /板/新
  • /:USER_ID /板/:ID/
  • /:USER_ID /板/:ID /編輯

,當然你寧靜的路線!