Ma configuration est la suivante:: relation has_many avec: par une autre relation avec: par
class User < ActiveRecord::Base
has_many :owners, :dependent => :destroy
has_many :properties, :through => :owners
end
class Owner < ActiveRecord::Base
belongs_to :user
belongs_to :property
end
class Property < ActiveRecord::Base
has_many :owners, :dependent => :destroy
has_many :users, :through => :owners
has_many :datafiles, :dependent => :destroy
end
class Datafile < ActiveRecord::Base
belongs_to :property
end
Maintenant, je voudrais être en mesure de faire @ user.datafiles. J'ai essayé has_many :datafiles, :through => :properties, :source => :datafiles
mais il semble y avoir un problème avec un: à travers quelque chose qui est déjà allé à un: à travers. Alors, comment pourrais-je essayer de gérer ce que j'essaie de faire ici?
Merci d'avance.
Cela ne fonctionne pas. Le problème est que les propriétés n'ont pas de user_id car une propriété peut avoir plusieurs utilisateurs. C'est à ça que sert la table des propriétaires. Propriété has_many: users,: through =>: owners –
Désolé, trop tôt pour la concentration. :) Que diriez-vous de l'édition? – mark