初学者RoR程序员在这里。
让我说我有类似的东西:
class Foo
cattr_accessor :VAR_ONE, :VAR_TWO
# these need to be overridden in config/initializers/production.rb
@@VAR_ONE = nil
@@VAR_TWO = nil
...
如何在 production.rb 中设置这些变量?我试过这样的事情,但它不起作用:
class << Rails.application
...
end
class << Rails.foo
VAR_ONE = ENV['VAR_ONE']
VAR_TWO = ENV['VAR_TWO']
end
谢谢!
答案 0 :(得分:0)
您可以测试一下您所处的环境:
if Rails.env.production?
//do something
end
此外 - 如果您正在尝试保存API密钥或诸如此类的东西。您可以通过终端或secretts.yml单独设置它们,并指定环境。
答案 1 :(得分:0)
无需在代码中检查production
,将此类变量委托给环境。
宝石称为dotenv
:https://github.com/bkeepers/dotenv。简单如下:
.env
文件VAR_ONE=1
VAR_ONE = ENV['VAR_ONE']