Rails3 Custom Environment Variables

Posted by Jason Noble on 02/14/2011 in ruby, ruby on rails |

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

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"
# config/environments/test.rb
config.after_initialize do
  Configuration.json_url = "http://www.domain.com"

Now you can test it in the Rails console.

$ rails console
>> Configuration.json_url
$ RAILS_ENV=production rails console
>> Configuration.json_url

Now your Rails app has access to these variables, so you can use them in your Controllers, Models or Views as needed.


Comments are closed. Would you like to contact the author directly?

Copyright © 2008-2018 Jason Noble's Technical Adventures All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.2.3, from BuyNowShop.com.