我有以下一对控制器:
Admin :: BaseController - 用于应用程序的后端。
Base :: BaseController - 用于应用程序的前端。
在Admin :: BaseController中,我设置了以下全局变量:
$FRONTEND = false
在Base :: BaseController中我按如下方式设置:
$FRONTEND = true
我这样做,以便我可以在各种模型中执行以下操作:
def to_param
If $FRONTEND
...
else
...
end
end
这适用于开发但不适用于生产。我知道我可能不应该使用全局变量。对此有什么好的替代方案?
答案 0 :(得分:0)
创建环境变量而不是它。 例如env ['name ur variable'] = environment.rb文件中的值
答案 1 :(得分:0)
您可以使用Figaro gem设置环境变量。请在此处查看:https://github.com/laserlemon/figaro
它允许您非常轻松地设置开发和生产变量。
然后您可以使用ENV['name']
访问它们,并且提到的宝石也会将它们添加到您的Heroku帐户(假设您在Heroku上托管)