Module: ActiveRecord::Mti
Overview
Multiple Table Inheritance (MTI)
Say, you have a base model (Fruit) and its implementations (Apple & Banana). STI is not suitable because you have to keep Apple’s & Banana’s specific fields in one table (fruits). MTI enables you to keep a clear database schema with a table for common fields only (fruits) and two tables for specific fields only (apples & bananas). This implementation is based on delegation pattern and doesn’t use class inheritance.
Example:
class Fruit < ActiveRecord::Base
mti_base
end
class Apple < ActiveRecord::Base
mti_implementation_of :fruit
end
class Banana < ActiveRecord::Base
mti_implementation_of :fruit
end
Defined Under Namespace
Modules: ClassMethods