Я пытаюсь создать экземпляр объекта абстрактного класса AR для целей тестирования.Модель определяется следующим образом:
class Basic < ActiveRecord::Base
self.abstract_class = true
def stuff
raise NotImplementedError
end
end
Когда я пытаюсь Basic.new
, я получаю:
"Mysql2::Error: Table 'project_development.basics' doesn't exist"
Это нормальное поведение?Разве абстрактные классы AR не предназначены для создания даже без (очевидно невозможного) постоянства?
Использование 1.9.2-p136 с Rails 3.0.4 / Mysql2 0.2.6
Редактировать:
Оказывается, ошибка вызвана определениями столбцов, которые в случае абстрактной модели не могут быть извлечены из базы данных.
class Basic < ActiveRecord::Base
self.abstract_class = true
@columns = []
end
Работает как шарм.