Help us understand the problem. What is going on with this article?

Railsで定数を環境ごとに管理するrails_config(現 config)

More than 3 years have passed since last update.

config って?

開発環境ごとに定数を YAML ファイルで管理できるプラグインのこと

公式リポジトリ

https://github.com/railsconfig/config

configをインストール

Gemfile に config を記述

Gemfile
gem 'config'

vendor/bundle 以下に config をインストール

$ bundle install --path vendor/bundle
$ bundle exec rails g config:install
  create  config/initializers/rails_config.rb
  create  config/settings.yml
  create  config/settings.local.yml
  create  config/settings
  create  config/settings/development.yml
  create  config/settings/production.yml
  create  config/settings/test.yml
  append  .gitignore

gitignoreには自動で下記の内容が追加される

config/settings.local.yml
config/settings/*.local.yml
config/environments/*.local.yml

使用したい環境に応じて編集するファイルを変更

YAML(環境) ファイルの場所
全ての環境のYAML config/settings.yml
ローカル環境専用のYAML config/settings.local.yml
開発環境専用のYAML config/settings/development.yml
テスト環境専用のYAML config/settings/test.yml
本番環境専用のYAML config/settings/production.yml

記述例

config/settings.yml
twitter:
  follow_target_name: 'mossmoss'
  text: 'mossmossmossmossmoss'
  url : 'http://mossmossmossmossmoss.com/'

参照例

Settings.twitter[:text]
Settings.twitter['text']
Settings[:twitter][:text]

settingslogicもいいけど、わかりやすいしそこそこ大きな開発の時に使えそうなrails_configでした。

yumiyon
好きなヒトと、好きなバショで、好きなコトをして働く。
http://piyon.me/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away