Skip to main content

custom_app_config

🛠️ Custom config.x Settings

Rails provides a convenient config.x namespace to store custom configuration in a centralized place. You can define arbitrary settings in config/application.rb and override them per environment in config/environments/*.rb. This keeps your magic numbers or feature flags organized and accessible throughout the app via Rails.configuration.x.

# config/application.rb
module MyApp
class Application < Rails::Application
# Define default custom settings
config.x.api_timeout_seconds = 5
config.x.feature_flags = { new_checkout: false }
end
end

# config/environments/production.rb
Rails.application.configure do
# Override in production
config.x.api_timeout_seconds = 10
config.x.feature_flags[:new_checkout] = true
end

Now you can call Rails.configuration.x.api_timeout_seconds anywhere in your code or initializers.