Как ActiveRecord определяет методы по сравнению с attr_accessor?

ActiveRecord, похоже, определяет методы экземпляра иначе, чем attr_accessor.

attr_accessor не делаеткажется, определить супер метод для моего нового определенного атрибута:

class SomeClass
  attr_accessor :some_attribute

  def some_attribute
    super
  end
end

>> some_class = SomeClass.new
>> some_class.some_attribute
NoMethodError: super: no superclass method `some_attribute' for..

В то время какActiveRecord определенно определяет супер метод:

class SomeClass < ActiveRecord::Base
  # some_attribute is now a column in our database

  def some_attribute
    super
  end
end

>> some_class = SomeClass.new
>> some_class.some_attribute
nil

Где разница между обоими? Есть ли способ заставить attr_accessor определять супер метод?

РЕДАКТИРОВАТЬ: Я до сих пор нене знаю, как ActiveRecord определяет этоs методы, но я знаю, как это делает attr_accessor. Вместоsuper я могу использовать@some_attribute поскольку он хранит значения в глобальных переменных с тем же именем:https://stackoverflow.com/a/4371458/586000

Ответы на вопрос(1)

Ваш ответ на вопрос