1.使用淺
避免深度巢狀的一種方法(如上所述)是生成在父級下作用域的集合操作,以便了解層次結構,但不巢狀成員操作。換句話說,僅構建具有最少量資訊的路由以唯一地標識資源,如下所示:
resources :articles, shallow: true do
resources :comments
resources :quotes
resources :drafts
end
DSL 的淺層方法建立了一個範圍,其中每個巢狀都是淺的。這會生成與上一個示例相同的路由:
shallow do
resources :articles do
resources :comments
resources :quotes
resources :drafts
end
end
範圍有兩種選項可以自定義淺層路由。 :shallow_path 為具有指定引數的成員路徑新增字首:
scope shallow_path: "sekret" do
resources :articles do
resources :comments, shallow: true
end
end
使用 Rake Command 獲取生成的路由,如下所示:
rake routes