Constants not visible in controllers or models


I might be being a bit thick today but I have a problem that I can't seem to shake.

I have some configuration data in a yaml file that I load with an initializer.

AVATARS_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/avatars.yml")

The information includes where to save upload files and other stuff so it is needed in several places. One of the controllers can reference AVATARS_CONFIG, but the model, avatars.rb cannot. So I have to have the same line in any controller or model that needs it. Which looks to be very messy not to mention inconsistent - some places need it, other don't.

I've tried to make them global, ie $AVATARS_CONFIG, but it doesn't seem to work.

Anyone have any idea how I might get this and other constants I require to be available globally?


Where have you defined those constants?

Constants should be accessed with NameOfTheClass::NAME_OF_THE_CONSTANT

Sorry, disregard everything I said. I'm having a blond moment. My
initialiser scripts were actually .yml files rather than .rb files. So
the line

AVATARS_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/avatars.yml")

didn't actually do anything. Didn't error either but it's all my fault.

Sorry to waste your time