Problem with inheritance and find


I’ve got 3 classes :

class Person < ActiveRecord:Base

class Man < Person

class Father < Man

When I call Man.all, I expect to have men and fathers, but I don’t.
When I call Person.all, I have people, men and fathers…

Do I have to redefine the find method of the Father’s class ???
Did I break some thing ? I’m pretty sure it worked before, but I
really don’t know what I could have done to break it.

I thought it could be an issue from Rails 2.1.2, but I got the same
one with rails 2.1.1.

Please help !

On Nov 11, 3:40 pm, joserwan [email protected] wrote:

class Father < Man
one with rails 2.1.1.

This is a quirk of single table inheritance. If you use
require_dependency to force all the subclasses of person to be loaded
(eg at the bottom of person.rb) then it should work fine.


Works fine, thank you very much !

In facts, as Person.all gave me Men and Fathers, I had

require_dependency ‘father’ in the Man class.