diff --git a/README.md b/README.md index d482712..4fcd5f9 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ and pairing with smart people at Hashrocket. For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud). -_956 TILs and counting..._ +_957 TILs and counting..._ --- @@ -608,6 +608,7 @@ _956 TILs and counting..._ - [Polymorphic Path Helpers](rails/polymorphic-path-helpers.md) - [Pretend Generations](rails/pretend-generations.md) - [Query A Single Value From The Database](rails/query-a-single-value-from-the-database.md) +- [Read In Environment-Specific Config Values](rails/read-in-environment-specific-config-values.md) - [Read-Only Models](rails/read-only-models.md) - [Remove The Default Value On A Column](rails/remove-the-default-value-on-a-column.md) - [Rescue From](rails/rescue-from.md) diff --git a/rails/read-in-environment-specific-config-values.md b/rails/read-in-environment-specific-config-values.md new file mode 100644 index 0000000..b6dc86c --- /dev/null +++ b/rails/read-in-environment-specific-config-values.md @@ -0,0 +1,30 @@ +# Read In Environment-Specific Config Values + +The [`config_for`](https://apidock.com/rails/Rails/Application/config_for) +method allows you to read in a YAML file for the current environment in your +config files. These YAML files need to be located in the `config` directory. + +For instance, let's say you have `config/extra_settings.yml`: + +```yml +development: + support_email: support+dev@test.com + +production: + support_email: support@test.com +``` + +You can read that file in as part of your `application.rb` config setup: + +```ruby +# config/application.rb +module MyApp + class Application < Rails::Application + extra_settings = config_for(:extra_settings) + set_support_email(extra_settings.fetch(:support_email)) + end +end +``` + +In `development` this call to `config_for` would return a hash of the values +under `development`. Likewise in `production`.