冒险村18 - Config

18 - Config

这篇将介绍与上篇 Configatron 相同功能类似的 Gem - Config。

gem install

  # Gemfile
  gem "config"

Installing

  bundle exec rails rails g config:install

  # auto create
  - config/initializers/config.rb
  - config/settings.yml
  - config/settings.local.yml
  - config/settings
  - config/settings/development.yml
  - config/settings/production.yml
  - config/settings/test.yml
  - append .gitignore

这几个档案的优先权满好理解的,与上篇的权限相同,一开始 Config 会先去读 settings.yml 档案内的 config,并根据目前的环境会去读各对应的 config,然後把两个档案 merge 起来,如有重复的情况,settings 的设定会被覆盖掉~

由此可见,如果 config 在各环境下都还是相同的参数时,就直接丢 settings 内即可,如果在不同环境下的 config 再放入对应的环境档案。

Example

config > settings.yml

  size: 1
  server: google.com

config > environments > development.yml

  size: 2
  computed: <%= 1 + 2 + 3 %>
  section:
    size: 3
    servers: [ {name: yahoo.com}, {name: amazon.com} ]

rails console

  Settings.size   # => 2
  Settings.server # => google.com
  Settings.computed # => 6
  Settings.section.servers[0].name # => yahoo.com
  Settings.section.servers[1].name # => amazon.com

参考来源

My blog


<<:  最短路径问题 (7)

>>:  Swift纯Code之旅 Day23. 「切割TableView(2) - 客制化TableViewHeader」

[day5] Python发送Request接收Response与永丰API串接参数

Python实作 Request发送 如果你的Python环境没有requests模组 pip in...

【Day25】:从struct进化成class的物件导向技巧(上)

本篇与STM32相关性不大 会有这个章节其实是有原因的...有一天我请学长帮我看一下程序的时候,请我...

[ 卡卡 DAY 12 ] - React Native UI 元件(component) 介绍(下)

再来多介绍一个常会用到的 list 元件 以及到目前的踩雷分享 :P 列表元件 Virtualiz...

Day24 - 将台湾证券交易所的除权除息计算结果表存入 DB

前言 前面已经知道如何抓「台湾证券交易所」的除权除息计算结果表 CSV 档,接下来要处理资料,并存入...

Ruby on Rails layout

只能⼀个版型吗? 如果你喜欢,可以有多种款式的版型,预设的版型是 app/views/layouts...