2009-10-27 158 views
0

模塊內有模型。我可以訪問存儲在模型中的模型類中的常量嗎?在模塊內訪問模型

我試圖要求「modelfilename.rb」,並試圖通過型號:: CONSTANT_NAME使用常量,但其無法獲得的價值。由於常數與模型相關,我將它們存儲在模型中,並使用模塊中需要的模型在模塊內訪問它們。

在此先感謝。

回答

0

您可以使用類似:

modelObject = Object.const_get(StackOverflow上)

StackOverflow的地方是你的模型。這應該工作,但我有強烈的懷疑ActiveRecord處理對Object.const_get的調用。在這種情況下,只要按照達米恩的建議進行。

0

哪裏是你的模塊在什麼位置?
位於Rails應用程序(以下簡稱「lib」目錄或例如一個插件)內,訪問通過Rails應用程序的任何模塊的所有車型進行訪問。
所以你不需要它們。你只需要給他們打電話。

如果你的模塊是不是你的Rails應用程序裏面,你需要確定你的模型目錄,並加載你需要的人。

$:.unshift 'path/to/your/models/directory' 
require 'modelfilename' 

你需要先定義你的模型在哪個目錄下,以便Ruby知道要載入什麼。
然後你需要你的模型。 「.rb」擴展名不是必需的。