Single table inheritance... in multiple tables

Hi all,

I like how single table inheritance works, in that you can share functionality and validation etc between related models. The only thing I don't like is that everything gets mixed into the same table. Quite often I end up with a lot of redundant fields in a lot of records.

Is there any way to cause inheritance without triggering the STI special behaviour?

Gareth, I too wasn't too happy with some aspects of STI, but to be fair the constraints are pointed out in the Agile Rails book.

I am going to try the following for the scenarion where a number of z subclasses inherit from a single y class which in turn inherits from a single x class, and where z subclasses may be very different from eachother.

The solution I plan to try is:

1) One controller with a new() action that instantiates the base class (x) and correct subclasses (y,z) for the input form data (using a 'type' selected in the UI) 2) Create action that saves x and thru table association (e.g. has one,

belongs to) saves the appropriate subclasses (y,z). 3) Individual models - one for x and y, and one for each sub class z.

Regards, Lee.