Ruby on Rails 「config」gemで環境ごとに異なる定数をシンプルに管理する

環境ごとに異なる定数の扱いに困ることありませんか?

Railsだと「config」というgemを使って、環境ごとに異なる定数をシンプルに管理することができます。

それでは、「config」gemの使い方を徹底的に紹介していきたいと思います。

<スポンサードリンク>

gemのインストール

まずは、Gemfileに下記の通り「config」を追加して、bundle installを実行します。

gem 'config'

設定ファイルの作成

次に設定ファイルを作成します。

% bundle exec rails g config:install
Running via Spring preloader in process 672
      create  config/initializers/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

コマンドで設定ファイルの作成をします。
できたファイルの使い方は、下記の通りです。

 

yml fileの場所
全環境で使用する定数を定義 config/settings.yml
ローカル環境で使用する定数を定義 config/settings.local.yml
開発環境で使用する定数を定義 config/development.yml
本番環境で使用する定数を定義 config/production.yml
テスト環境で使用する定数を定義 config/test.yml

定数の記述と呼び出し

実際の記述方法のサンプルは、下記の通りです。
階層構造で書くこともでき、環境変数から値をとることもできます。

api:
  url: http://hogehoge.example.co.jp
  api_key: <%= ENV['API_KEY'] %>

 

呼び出し方は、下記の通り、3種類あります。

2.4.0 :002 > Settings.api.url
 => "http://hogehoge.example.co.jp" 
2.4.0 :003 > Settings[:api][:url]
 => "http://hogehoge.example.co.jp" 
2.4.0 :004 > Settings['api']['url']
 => "http://hogehoge.example.co.jp" 



2.4.0 :005 > Settings.api.api_key
 => "hogehoge" 

シンプルで使いやすく、大規模開発などでも使えるgemです。

関連

Ruby on Rails データベース構築設定まとめ

Railsの環境変数管理gem、dotenvの使い方徹底解説

Rails 初めてのAPI作成 1時間でとりあえず動くまで!!

スポンサードリンク



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA