1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-02 22:58:01 +00:00

Add Read In Environment-Specific Config Values as a Rails til

This commit is contained in:
jbranchaud
2020-11-03 14:59:54 -06:00
parent edc3510f41
commit cb78caa086
2 changed files with 32 additions and 1 deletions

View File

@@ -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)

View File

@@ -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`.