Как создать статический класс, который представляет то, что находится в базе данных? - PullRequest
0 голосов
/ 25 февраля 2012

У меня есть таблица, которая выглядит следующим образом:

AccountType

ID  Name  Property1 Property2 Property3

При запуске я хочу создать класс, который представляет строки базы данных, на которые я могу ссылаться как по идентификатору, так и по имени.

Я хочу, чтобы это было статическое представление (оно никогда не изменится, если это произойдет в редких случаях, я могу перезапустить приложение), потому что я буду ссылаться в своем коде и не хочу постоянно попадать в базу данных.

Мне нужно это в базе данных, потому что мне нужно объединить его и с другими таблицами.

Можно ли это сделать?

Использование:

AccountType[1]
AccountType["PRO_PLAN"]

1 Ответ

3 голосов
/ 25 февраля 2012

Определенно.Попробуйте это:

#config/initializers/constants_from_account.rb

ACCOUNT_TYPE = {}

AccountType.all.each do |account_type|
  ACCOUNT_TYPE[account_type.name] = account_type
  ACCOUNT_TYPE[account_type.id] = account_type
end

Затем вы можете использовать ACCOUNT_TYPE [1] или ACCOUNT_TYPE ["PRO_PLAN"] - либо идентификатор, либо имя - для доступа к новому хэшу типов учетных записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...