Ruby on rails 从抽象模型继承的Rails不保留父对象的属性

Ruby on rails 从抽象模型继承的Rails不保留父对象的属性,ruby-on-rails,ruby,inheritance,activerecord,abstract-class,Ruby On Rails,Ruby,Inheritance,Activerecord,Abstract Class,我使用rails generator创建了带有一些属性的模型,然后将其抽象化: class AbstractModelClass < ActiveRecord::Base self.abstract_class = true end name是属于AbstractModelClass的属性,console向我抛出未定义的方法“name”错误 如何使子模型继承父类的所有属性 我主要是用Java编程的,现在我很困惑 声称name是属于AbstractModelClass的属性的依据是

我使用rails generator创建了带有一些属性的模型,然后将其抽象化:

class AbstractModelClass < ActiveRecord::Base
    self.abstract_class = true
end
name
是属于
AbstractModelClass
的属性,console向我抛出
未定义的方法“name”
错误

如何使子模型继承父类的所有属性


我主要是用Java编程的,现在我很困惑

声称
name
是属于
AbstractModelClass
的属性的依据是什么?我已经运行了rails generator并通过它应用了属性,所以您使用rails generator生成了
AbstractModelClass
?但是您传递到生成器中的属性没有任何意义,因为您将此类抽象化(抽象类不使用SQL表,但它们可以从中继承)
ActiveRecord
属性是从相应表的列中获取的,因此您没有
name
属性。@IsmaelAbreu这不是我的意见,这是事实
abstract_class=true
表示该类不使用任何表,子类使用自己的db表。听起来和STI不一样,不是吗?当然,向OP展示STI机制是有用的,但是声称抽象类是STI当然是误导的。它们是不同的东西。谢谢你的解释
class Child < AbstractModelClass
end
a = Child.new
a.name = "AAAA"