在Rails 4应用程序中,我需要在应用程序使用它之前为每个请求重新加载路由(routes.rb)。我应该在哪里放MyApplication::Application.reload_routes!
我曾尝试将其放入config/applicaion.rb,config/environments.rb
,但它无效
我也尝试将它放在ApplicationController的before_filter
中,它也失败了。
RoR api简要介绍了如何使用它
因此,非常感谢任何有关此的协助/指导
答案 0 :(得分:1)
Seriuosly我永远不会那样做。这是对Rails内部的大规模干预。只需将一条动态路由配置为单个控制器即可。然后加载一些命令(服务) 根据来自db的url的动态部分,反序列化,实例化和传递 当前控制器作为对此动态服务构造函数的引用。
您正在加载的动态服务应该根据以下重构技术实现:
Replace Method with Method Object
另一个选项是加载lambda / Proc,因为它会在实例化后自动拥有控制器作用域