2010-05-04 85 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核心功能)的謹慎原因。

相關問題