我在想如果以下路由文件中的路由结构可以接受。我还没有看到过这样做的例子,但它看起来合乎逻辑。如果不是,请让我知道为什么。Ruby On Rails和Routes文件结构
Rails.application.routes.draw do
### BEGIN /some_base_route/
namespace :some_base_route do
### BEGIN /some_base_route/lead_vendor
namespace :lead_vendor do
get 'import'
get 'results'
end
### END /some_base_route/lead_vendor
### BEGIN /some_base_route/sales/
namespace :sales do
get 'view_lead'
get 'edit_lead'
post 'edit_lead'
get 'create_contact_log'
get 'login'
get 'dashboard'
end
### END /some_base_route/sales/
### BEGIN /some_base_route/admin/
namespace :admin do
get 'admin/login'
get 'admin/dashboard'
end
### END /some_base_route/admin/
### BEGIN /some_base_route/process/
namespace :process do
### BEGIN /some_base_route/process/sales
namespace :sales do
### BEGIN /some_base_route/process/sales/leads
namespace :leads do
get 'create'
get 'edit'
get 'delete'
get 'call_log_create'
end
### END /some_base_route/process/sales/leads
end
### END /some_base_route/process/sales
### BEGIN /some_base_route/process/new_client
namespace :new_client do
get 'new_client/step1'
get 'new_client/step2'
get 'new_client/step3'
get 'new_client/step4'
get 'new_client/step5'
get 'new_client/step6'
end
### END /some_base_route/process/new_client
### BEGIN /some_base_route/process/admin/
namespace :admin do
### BEGIN /some_base_route/process/admin/user_management/
namespace :user_management do
get 'create'
get 'edit'
get 'delete'
get 'disable'
end
### END /some_base_route/process/admin/user_management/
### BEGIN /some_base_route/process/admin/services/
namespace :services do
get 'create'
get 'edit'
get 'delete'
end
### END /some_base_route/process/admin/services/
end
### END /some_base_route/process/admin/
end
### END /some_base_route/process/
end
### END /some_base_route/
您可以运行'rake routes'来自己检查路线。 –
@ArieShaw我在问,如果这是一个接受的路线结构,以我的方式嵌套它们。 Rake的工作没有问题!我只是想知道这是否违反任何ROR编程范式。 –
结构对我来说看起来不错,嵌套结构允许在Rails中使用'namespace',但是除非绝对需要,否则不应该使用深层嵌套 –