Forum: Ruby on Rails Problem with inheritance and find

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
joserwan (Guest)
on 2008-11-11 17:41
(Received via mailing list)

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 !
Frederick C. (Guest)
on 2008-11-11 18:08
(Received via mailing list)
On Nov 11, 3:40 pm, joserwan <removed_email_address@domain.invalid> 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.

joserwan (Guest)
on 2008-11-11 22:01
(Received via mailing list)
Works fine, thank you very much !
joserwan (Guest)
on 2008-11-11 22:04
(Received via mailing list)
In facts, as Person.all gave me Men and Fathers, I had

require_dependency 'father' in the Man class.
This topic is locked and can not be replied to.