Inherit without Single-Table-Inheritance (STI) in ActiveRecord

Posted . Visible to the public.

You have multiple options:

  1. Just don't have a type column. All STI magic will be disabled automatically.
  2. If you have a type column but want to use it for something else (WAT?), you can set self.inheritance_column = :_non_existing_column in the class definition
  3. (Untested) In the parent class, set self.abstract_class = true

This technique is useful to implement form models / presenters, where you want all the goodness of ActiveRecord but want to add additional logic for a particular screen (e.g. class SignUp < User).

Henning Koch
Last edit
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra dev (2013-05-14 09:56)