I recently saw a question on Stack Overflow regarding custom variables that have different values based on which environment you are running for Rails.
It turns out it’s very easy to accomplish.
# config/initializers/configuration.rb class Configuration class << self attr_accessor :json_url end end
This gives you access to a Rails variable called Configuration.json_url. Now we just need to initialize this value in our environment files.
# config/environments/development.rb # Put this inside the ______::Application.configure block config.after_initialize do Configuration.json_url = "http://test.domain.com" end
# config/environments/test.rb config.after_initialize do Configuration.json_url = "http://www.domain.com" end
Now you can test it in the Rails console.
$ rails console >> Configuration.json_url "http://test.domain.com" >>
$ RAILS_ENV=production rails console >> Configuration.json_url "http://www.domain.com" >>
Now your Rails app has access to these variables, so you can use them in your Controllers, Models or Views as needed.