Problem with inheritance and find


#1

Hi,

I’ve got 3 classes :

class Person < ActiveRecord:Base
end

class Man < Person
end

class Father < Man
end

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 !


#2

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.

Fred


#3

Works fine, thank you very much !


#4

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

require_dependency ‘father’ in the Man class.