У меня вопрос по настройке констант в проекте Rails.
Из книги Дэна Чака Enterprise Rails он объясняет, что постоянный код поиска, как показано ниже, выполняется только один раз при запуске приложения. Однако, глядя на журнал, я думаю, что он запускается каждый раз, когда я использую константу.
class Role < ActiveRecord::Base
USER = Role.find_by_key('user')
ADMIN = Role.find_by_key('admin')
end
Это определенно позволяет более чистый код, поскольку я могу сделать что-то вроде:
current_user.role = Role::ADMIN
В качестве альтернативы я прочитал о ActiveSupport::Memoizable
, но я хочу подтвердить, что эта настройка приводит к поиску нескольких дБ, прежде чем менять код.
Спасибо за ваш вклад!