我有一个环境变量,我在两个地方使用,一个是rake任务,另一个是模型方法。当我从rake任务中调用它时,一切都很好并且变量加载,但是当我从模型中调用它时它没有找到任何东西。它不是一个空错误或任何其他错误,它只返回一个空字符串。
是否有任何理由会覆盖环境变量或模型无法访问?
它用于构建网址:
http://#{AppEnv['env_var_1']}/this/is/#{AppEnv['env_var_2']}/a/path
- 还有一件事,myabe是相关的,模型方法被称为after_create
编辑:
感谢您的回复,但我的问题不是如何访问或使用env vars,因为您可以看到我已经在上面使用它们了。我的问题是为什么他们没有加载我的模型。
编辑2:
我有4个相关的AppEnv变量,[这真的很奇怪所以请耐心等待]当我检查它们运行rake任务(puts
所有4个到日志时),它们是预期的。当我运行完全相同的类方法,但在模型中调用after_create
时,其中3个变量为空,其中一个变量保存不同变量的值。那就是:
AppEnvVar1为空
AppEnvVar2的值为AppEnvVar4
AppEnvVar3为空
AppEnvVar4为空
如果我将方法更改为self.method
(允许我从控制台运行它),并运行它,它就可以工作。因此,我非常确定在after
过滤器期间我已将其缩小到AppEnv的问题。
关于在哪里挖掘的任何想法?