在Rails 3.2.6上,我有一个从ActiveRecord::Base继承的类:
class Section < ActiveRecord::Base
...
end
当我从此类继承时,Rails会假定我需要STI:
class AnotherSection < Section
..Rails assumes I have a type field, etc...
end
我希望能够从
Section
类继承并将该子类用作普通的Ruby子类,而无需使用Rails STI魔术。从
ActiveRecord::Base
模型子类化时,有没有办法防止STI? 最佳答案
您可以通过为模型禁用inheritance_column
来实现此目的,如下所示:
class AnotherSection < Section
# disable STI
self.inheritance_column = :_type_disabled
end
关于ruby-on-rails - 从ActiveRecord模型继承时防止STI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11676288/