访问模块内的模型

时间:2009-10-27 09:13:55

标签: ruby-on-rails

模块中是否有可用的模型。我可以访问存储在模型中的模型类中的常量吗。

我尝试了'modelfilename.rb'并尝试使用Model :: Constant_name的常量,但无法获取值。由于常量与模型相关,我将它们与模型一起存储,然后使用模块中我需要的模型在模块中访问它们。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您的模块位于何处?
位于rails应用程序内的任何模块(例如“lib”目录或插件)并由rails应用程序访问,可以访问所有模型。 所以你不需要它们。你只需要打电话给他们。

如果您的模块不在您的rails应用程序中,您需要定义您的模型目录并加载您需要的模板目录。

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

您需要先定义模型所在的目录,以便ruby知道要加载的内容 那你需要你的模型。不需要“.rb”扩展名。

答案 1 :(得分:0)

您可以使用以下内容:

modelObject = Object.const_get(StackOverflow)

其中StackOverflow是您的模型。这应该工作,但我强烈怀疑ActiveRecord处理对Object.const_get的调用。在这种情况下,请按照Damien的建议去做。