Проще всего хранить информацию как константы в различных файлах среды. Таким образом, вы можете использовать различные учетные записи для разработки, производства и т.д.
# Eg
# development/environment.rb
....
API_1_USER = "user101"
API_1_PW = "secret!"
Альтернатива заключается в создании файла YAML, а затем прочитать его, когда ваше приложение знаки в к API. Это стиль, используемый рельсам сам с конфигой/databse.yml файл
ДОБАВЛЕНО
Вы также можете хранить как константа, используя хэш или вложенный хэш.
# Eg
# development/environment.rb
....
API_1 = {"user" => "user101", "pw" => "secret!"}
API_2 = {"user" => "user102", "pw" => "double_secret"}
# or nested hashes
API_KEYS = {
"api_1" => {"user" => "user101", "pw" => "secret!"},
"api_2" => {"user" => "user102", "pw" => "double_secret"}}
# using them in another file:
foo.signin(API_1['user'], API_1['pw'])
# or
foo.signin(API_KEYS["api_1"]['user'], API_KEYS["api_1"]['pw'])
# note, I use string constants instead of symbols to save vm (since the hash is
# not referenced more than once or twice). You could also use
# symbols as the keys, especially if the hash will be referenced often:
API_1 = {:user => "user101", :pw => "secret!"}
При использовании этого подхода я голосую за вложенные хеши, а не за подчеркнутые константы. – Matchu
Что такое пример вложенного хэша? И тогда, как я могу вызвать его в контроллере, которому нужен доступ API, так же, как переменная ALL CAP? – Angela
Я добавил пример использования хешей в качестве констант –