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