3

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

3 Comments

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

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