Не только необходимо знать Objective C (легкая часть), необходимо быть очень довольны простым C. Это - по-моему, самая сложная задача для большинства людей.
Rails >= 3, the application is itself a module (living in config/application.rb
). You can store them in the application module
module MyApplication
SUPER_SECRET_TOKEN = "123456"
end
Then use MyApplication::SUPER_SECRET_TOKEN
to reference the constant.
Rails >= 2.1 && < 3 you should place them
/config/initializers
when the constant has the applications scopePrior to Rails 2.1 and initializers
support, programmers were used to place application constants in environment.rb.
Here's a few examples
# config/initializers/constants.rb
SUPER_SECRET_TOKEN = "123456"
# helpers/application_helper.rb
module ApplicationHelper
THUMBNAIL_SIZE= "100x20"
def thumbnail_tag(source, options = {})
image_tag(source, options.merge(:size => THUMBNAIL_SIZE)
end
end
Вы можете поместить их в config / environment.rb:
Rails::Initializer.run do |config|
...
SITE_NAME = 'example.com'
end
Если у вас большое количество глобальных констант, это может быть беспорядочно. Рассмотрите возможность получения из файла YAML или сохранения констант в базе данных.
РЕДАКТИРОВАТЬ:
ответ weppos - лучший ответ.
Сохраните свои константы в файле в config / initializers / *. Rb