【发布时间】:2016-06-02 11:47:03
【问题描述】:
我在 rails 项目的配置目录中同时拥有 settings.local.yml 和 settings.yml。我怎么知道正在使用哪一个?还是两者都被我的 Rails 项目使用并且一个优先于另一个?
【问题讨论】:
-
按照惯例应该是 settings.yml。
标签: ruby-on-rails ruby yaml
我在 rails 项目的配置目录中同时拥有 settings.local.yml 和 settings.yml。我怎么知道正在使用哪一个?还是两者都被我的 Rails 项目使用并且一个优先于另一个?
【问题讨论】:
标签: ruby-on-rails ruby yaml
local 版本的通常工作方式是它优先,或者覆盖更通用版本的值。例如,在 Unix 中,您可能在 /usr/local/bin 中有一个 ruby 版本,这是安装的系统的较新版本 /usr/bin/ruby(但您可以设置您的 PATH 以打破通常的做事方式)
rails 配置也是如此:settings.local.yml 设置覆盖了settings.yml 中的设置(这也可能被破坏)。在 railsconfig 项目中记录了this way:
After installing the gem, Settings object will become available globally
and by default will be compiled from the files listed below. Settings
defined in files that are lower in the list override settings higher.
config/settings.yml
config/settings/#{environment}.yml
config/environments/#{environment}.yml
config/settings.local.yml
config/settings/#{environment}.local.yml
config/environments/#{environment}.local.yml
【讨论】: