ActiveRecord / Rails - переменная экземпляра модели доступа, которая переопределяется методом модуля

Предположим, у нас есть модель ActiveRecord Group который имеет свойство (и столбец в базе данных) под названием name (это на самом деле не видно по умолчанию):

class Group < ActiveRecord::Base
  include App::CustomModule
end

Также есть кастомный модуль CustomModule входит в Group модель, которая имеет метод под названием name:

module App
  module CustomModule
    def name
      'module name'
    end
  end
end

В результате при обращении к name внутри Group экземпляр модели я получаю значение от CustomModule"s name метод (то же самое для self.name):

> Group.find(1).name
=> "module name"

Как я могу получить значение для оригинала name собственностью Group Экземпляр модели (не значение метода модуля) без изменения имен как свойства класса, так и метода модуля?

рельсы (4.0.4) activerecord (4.0.4)

1 ответ

Решение

Это должно сделать трюк:

group.read_attribute(:name)
Другие вопросы по тегам