J'ai un problème avec STI et relation dans ActiveRecord. Je pense que j'ai manqué quelque chose dans les méthodes de classe, mais je ne sais pas avec certitude. Ci-dessous est mes modèles:Problème avec la relation un-à-plusieurs avec l'héritage de table unique (Rails)
class User < ActiveRecord::Base
has_many :advertisements
end
class Advertisement < ActiveRecord::Base
belongs_to :user
end
class FreeAdvertisement < Advertisement
end
class PaidAdvertisement < Advertisement
end
Maintenant, je veux trouver tous FreeAdvertisement sous certains utilisateurs, par exemple:
u = User.find_by_username('myself')
@freebies = u.free_advertisements.all
Il donne l'erreur:
undefined method `free_advertisements' for #<User:0x2360f18>
je peux le pirater en utilisant u.advertisements.find :all, :conditions
, mais ce n'est pas ce que je veux faire. S'il vous plaît aidez-moi à résoudre ce problème. Merci d'avance.
Il fonctionne. Il semble que je doive ajouter tous les sous-objets dans la relation. Merci. –