我在我的应用程序中使用了一些常量。我会说有三种类型:
这就是我们今天所做的:
Rails.application.configure do
config.x.infite_scrollhp_feed_per_page_deals = 30
end
然后以这种方式在控制器中调用它:
nb_per_page = Rails.configuration.x.infite_scrollhp_feed_per_page_deals
但每次我不确定是否应该将全局常量放在config / application.yml或我的自定义配置.rb文件中?
什么是推荐的“Rails -way”?如何决定把它们放在哪里?是否存在普遍接受的“良好意识”/“被证明是有效/良好结构”的实践/规则?
还有一个不同的性能,也就是说,当用户加载页面时,application.yml“注入”更快地进入视图(.html)和资产(.js)文件,而不是在我的自定义配置文件中定义它们?
我建议使用config/secrets.yml
获取敏感数据(1和2):
development:
some_password: ...
test:
some_password: ...
production:
some_password: <%= ENV["SOME_PASSWORD"] %>
这样,您可以为不同的环境(用于开发,测试和生产)设置不同的设置。我强烈建议将生产敏感数据保存在ENV
变量中。
当它用于非敏感数据时(3)当不同环境需要不同的设置时,我会输入config/environments/*.rb
文件。如果情况并非如此,并且所有环境的设置都相同,我会将其放入application.rb
,application.yml
或initializers/*
中的自定义文件中,甚至作为类常量。