我有一个3年前的应用程序,它有一些控制器,有一些非常不稳定的动作。我正在尝试实现一个与某些旧资源有关系的新资源,但我想使用activescaffold来管理嵌套资源,而不是尝试重写代码库其余部分的意大利面条。我需要为使用activescaffold的嵌套资源编写新的控制器,但我不能丢失旧控制器,也不能重命名它们。如何让activescaffold配置从新控制器中获取嵌套资源的配置,而不是试图查看常规命名的配置控制器?
thx求助:)
-C
答案 0 :(得分:4)
您可以使用active_scaffold_controller_for覆盖方法。从ActiveScaffold文档 - http://www.activescaffold.com/docs/api-core
class ApplicationController < ActionController::base
protected
def self.active_scaffold_controller_for(klass)
return FooController if klass == Bar
return "#{klass}ScaffoldController".constantize rescue super
end
end