我正在按照this SO post重构我的公司路由文件,如下所示。
config/application.rb
module YourProject class Application < Rails::Application config.autoload_paths += %W(#{config.root}/config/routes) end end
config/routes/admin_routes.rb
module AdminRoutes def self.extended(router) router.instance_exec do namespace :admin do resources :articles root to: "dashboard#index" end end end end
config/routes.rb
Rails.application.routes.draw do extend AdminRoutes end
无论我们在appsules中放入了多少较新的RoR代码,这些代码都是应用程序的自包含小部分,包含它们自己的控制器、模型、序列化程序等,有人提到如果它们也包含自己的路由,那该有多好。它的路径如下所示
/appsules/#{appsule_name}/routes.rb
但是,当我查看我的application.rb中的config.paths时,我没有看到任何与appsules目录相关的路径。可以以这种方式读入路径文件吗?
发布于 2018-06-25 23:36:42
您是否正在更新自动加载路径以使用新的文件夹结构?类似于:
module YourProject
class Application < Rails::Application
config.autoload_paths += %W(
#{config.root}/config/routes
#{config.root}/appsules/appsule1_name/routes.rb
#{config.root}/appsules/appsule2_name/routes.rb
)
end
end如果您希望动态添加这些文件,您应该能够迭代appsule目录并将这些文件动态添加到自动加载路径。
https://stackoverflow.com/questions/51026332
复制相似问题