模块中是否有可用的模型。我可以访问存储在模型中的模型类中的常量吗。
我尝试了'modelfilename.rb'并尝试使用Model :: Constant_name的常量,但无法获取值。由于常量与模型相关,我将它们与模型一起存储,然后使用模块中我需要的模型在模块中访问它们。
提前致谢。
答案 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的建议去做。