关于存储应用程序范围变量的位置有很多建议,包括为您完成的一些宝石。对于Rails 4,我发现这样做的最简单方法是将一个变量添加到' config'在Application.rb或initializers / file.rb中,如
#/config/application.rb
config.new_variable = 5
或
#/config/initializers/application_variables.rb
Rails.application.config.new_variable = 5
我想知道这两者是否存在任何差异,可能是加载时间,或者每次刷新应用程序时是否会调用应用程序中的那个等等......
答案 0 :(得分:0)
这绝对取决于预期用途。我会使用/config/application.rb
来配置实际的Rails应用程序。不存储我自己的代码中使用的各种变量。这只是一个伪装的全球性。
对于API密钥和其他秘密位和bob,答案是使用环境变量与初始化器结合使用:
# /config/initializers/boozehound_client
# a fictional API client
Boozehound.configure(
api_key: ENV['BOOZEHOUND_API_KEY'],
secret: ENV['BOOZEHOUND_API_SECRET']
)
否则,如果您需要在控制器之间使用变量,则可以将其设置为ApplicationController
。