0
0

More than 1 year has passed since last update.

【Rails】【Ruby】ENV[]とENV.fetch() {}の違い

Posted at

ENV[]ENV.fetch() {}の違い

ENV[]ENV.fetch() {}の違いは指定した環境変数が存在しない場合にnilを返すかデフォルト値を返すかの違いです。

例えば、以下の場合には、RAILS_MAX_THREADSDB_USER_NAMEDB_USER_PASSWORDが存在しない場合にはnilとなります。

detabase.yml

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV["RAILS_MAX_THREADS"] %>
  username: <%= ENV["DB_USER_NAME"] %>
  password: <%= ENV["DB_USER_PASSWORD"] %>
  host: db

以下のように記述するとRAILS_MAX_THREADSDB_USER_NAMEDB_USER_PASSWORDが存在しない場合には{}内に記述したデフォルト値となります。

detabase.yml

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: <%= ENV.fetch("DB_USER_NAME") { root } %>
  password: <%= ENV.fetch("DB_USER_PASSWORD") { rootpass } %>
  host: db


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0