aboutsummaryrefslogtreecommitdiffstats
path: root/guides/source/configuring.md
diff options
context:
space:
mode:
authorJon Moss <maclover7@users.noreply.github.com>2016-01-10 10:46:17 -0500
committerJon Moss <maclover7@users.noreply.github.com>2016-01-10 10:46:17 -0500
commit4973704bf56dbb0d8beba977e1053d57e346ebd0 (patch)
tree5d305f9c6f94219ba7325a4036c66ce922a377c7 /guides/source/configuring.md
parent78edeb33346e13ab33a62d2a6b553aabf5b3186a (diff)
parent2548aa6d22a41624eb62dea9d76b8187bd9dcab8 (diff)
downloadrails-4973704bf56dbb0d8beba977e1053d57e346ebd0.tar.gz
rails-4973704bf56dbb0d8beba977e1053d57e346ebd0.tar.bz2
rails-4973704bf56dbb0d8beba977e1053d57e346ebd0.zip
Merge pull request #21995 from tak1n/master
Add Example for using config_for
Diffstat (limited to 'guides/source/configuring.md')
-rw-r--r--guides/source/configuring.md43
1 files changed, 35 insertions, 8 deletions
diff --git a/guides/source/configuring.md b/guides/source/configuring.md
index e9261a3dab..0b24d4d06a 100644
--- a/guides/source/configuring.md
+++ b/guides/source/configuring.md
@@ -1119,21 +1119,48 @@ NOTE. If you are running in a multi-threaded environment, there could be a chanc
Custom configuration
--------------------
-You can configure your own code through the Rails configuration object with custom configuration under the `config.x` property. It works like this:
+You can configure your own code through the Rails configuration object with custom configuration. It works like this:
```ruby
- config.x.payment_processing.schedule = :daily
- config.x.payment_processing.retries = 3
- config.x.super_debugger = true
+ config.payment_processing.schedule = :daily
+ config.payment_processing.retries = 3
+ config.super_debugger = true
```
These configuration points are then available through the configuration object:
```ruby
- Rails.configuration.x.payment_processing.schedule # => :daily
- Rails.configuration.x.payment_processing.retries # => 3
- Rails.configuration.x.super_debugger # => true
- Rails.configuration.x.super_debugger.not_set # => nil
+ Rails.configuration.payment_processing.schedule # => :daily
+ Rails.configuration.payment_processing.retries # => 3
+ Rails.configuration.super_debugger # => true
+ Rails.configuration.super_debugger.not_set # => nil
+ ```
+
+You can also use `Rails::Application.config_for` to load whole configuration files:
+
+ ```ruby
+ # config/payment.yml:
+ production:
+ environment: production
+ merchant_id: production_merchant_id
+ public_key: production_public_key
+ private_key: production_private_key
+ development:
+ environment: sandbox
+ merchant_id: development_merchant_id
+ public_key: development_public_key
+ private_key: development_private_key
+
+ # config/application.rb
+ module MyApp
+ class Application < Rails::Application
+ config.payment = config_for(:payment)
+ end
+ end
+ ```
+
+ ```ruby
+ Rails.configuration.payment['merchant_id'] # => production_merchant_id or development_merchant_id
```
Search Engines Indexing