2010-05-04 75 views
2

我在从模型根目录中的模型继承子目录一堆模型。我希望能够在列出每个继承模型类的另一个模型中设置一个类变量。如何从我的应用程序内获得型号名称?

@@groups = sub_models.map do { |model| model.class.to_s } 

不知道如何在这个信息虽然得到...

回答

0

有一个完整的答案here。基本上,你可以通过文件或猴子补丁类(或ActiveRecord的)巨魔。至少,这是两条路。第二个想法是,Rails将不会加载你的模型直到需要,所以虽然“文件”方式似乎很弱,但它可能是你唯一的选择(除非你想在你的模型中自己做一些事情)。

0

在Rails中,在生产ENV这应该工作

Object.subclasses_of ClassInModelDir 

你要载入的文件手动如果Rails.env.development?

0

除非你预装的后代车型您将无法做到这一点。这就是为什么重新设计代码以使用Class#ancestors而不是descendants(后代不是Ruby核心功能)的谨慎原因。

相关问题