attr_accessor ломает 2 моих метода в Rails
У меня есть модель пользователя. Одним из его атрибутов является строка с именем :access
который может быть либо nil, "admin", либо "active".
Теперь внутри модели User у меня есть следующие методы:
def admin?
self.access == "admin"
end
def active?
self.access == "active"
end
Они работают нормально. Но если я добавлю attr_accessor :access
к модели что-то ломается. мой admin?
а также active?
методы больше не работают. Когда я захожу в консоль rails и вынимаю пользователя из базы данных, я вижу, что user = User.find(7)
шоу access
установлен в "админ". Но если я наберу user.access
это возвращается nil
, user.admin?
возвращается false
,
1 ответ
attr_accessor
переписывает стандартные методы чтения и записи атрибута из базы данных. Зачем тебе attr_accessor
если это уже столбец в БД и Rails
предоставляет вам методы чтения и записи. Вы путаете это с attr_accessible
?