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]
-~----------~----~----~----~------~----~------~--~---

Répondre à