作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为环境特定变量(如用户名和密码)设置了一个环境 YAML 文件。要在我的应用程序中使用这些变量,我需要使用 APP_CONFIG['username']
而不是 APP_CONFIG[:username]
.为什么是这样?我将如何启用后者?不是主要问题,但不知道造成差异的原因让我很困扰。
配置/初始化程序/load_app_config.rb
APP_CONFIG = YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env]
development:
username: development_name
password: secret
production:
username: production_name
password: super_secret
最佳答案
默认情况下,YAML key 呈现为字符串。
development:
username: development_name
password: secret
APP_CONFIG = YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env]
APP_CONFIG['development']['username']
# => "development_name"
development:
:username: development_name
:password: secret
APP_CONFIG = YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env]
APP_CONFIG['development'][:username]
# => "development_name"
APP_CONFIG['development']['username']
# => nil
symbolize_keys!
APP_CONFIG = YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env].simbolize_keys!
APP_CONFIG = HashWithIndifferentAccess.new(YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env])
APP_CONFIG[:development][:username]
APP_CONFIG['development'][:username]
APP_CONFIG['development']['username']
[]
到字符串,以便它始终有效。这是几个 Rails 组件使用的类,包括著名的
params[]
Controller 中的哈希值。
关于ruby-on-rails - YAML 配置文件 : Why 'example' instead of :example?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12699579/
我是一名优秀的程序员,十分优秀!