I don't know how is the best way of implementing the "IS A" relationship
in Rails. What would you use? Inheritance or Polymorphism?
There are two primary solutions provided by rails for this:
1: Single Table Inheritance (STI)
2: Polymorphic relationships.
The primary determining factor is how similar are the "subclasses" to
the abstract class. By this I mean do the subclasses add just a few
additional attributes to the superclass or do they add a lot. In the
former case STI may fit the bill very well and in the latter you're
probably better off using a polymorphic relationship.
Google the two key words (STI and "Polymorphic Relationship") and you
should find lots of information to help you decide what's best in your
case. That is if either one fits, which I think one of them will.