J'ai tenté ça sur rails edge (2.1.0) :
class Animal < ActiveRecord::Base
belongs_to :man
def foo
"bar animal"
end
end
(comme animal belongs_to, c'est lui qui a le man_id dans sa migration)
class Dog < Animal
end
class Man < ActiveRecord::Base
has_one :pet, :class_name => 'Dog'
end
J'ouvre une console et je fais :
>> m = Man.new
>> m.pet = Dog.new
>> m.foo
=> "bar Animal"
>> m.save
>> reload!
>> Man.find(:first).pet.foo
=> "bar Animal"
Hoho. Essayons avec la modification de "Object" :
>> class Object ; def foo ; "bar Object" end end
>> Man.find(:first).pet.foo
=> "bar Object"
Intéressant. En gros, tant que l'on ne s'amuse pas à modifier Object
l'héritage fonctionne bien comme il devrait apparemment.
--
Michel Belleville
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---