J'essaie de comprendre comment avoir une relation utilisateur à deux niveaux.Hiérarchie utilisateur (modèle), jointure auto-référentielle
Les photographes ont des clients. Les clients ont un photographe. Les deux sont des utilisateurs.
J'ai un modèle utilisateur qui ressemble à ceci:
class User < ActiveRecord::Base
#authlogic
has_many :client_associations,
:foreign_key => 'client_id',
:class_name => 'Association',
:dependent => :destroy
has_many :clients, :through => :client_associations
has_one :photographer_association,
:foreign_key => 'photographer_id',
:class_name => 'Association',
:dependent => :destroy
has_one :photographer, :through => :photographer_association
end
Et un modèle d'association qui ressemble à:
create_table "associations", :id => false, :force => true do |t|
t.integer "photographer_id"
t.integer "client_id"
end
class Association < ActiveRecord::Base
belongs_to :client, :class_name => 'User'
belongs_to :photographer, :class_name => 'User'
end
Quand je remplirai avec des données et le feu de la console , en cours d'exécution user.clients.all ou user.photographer me donne juste un tableau vide.
Qu'est-ce que je fais mal?
Merci, qui a fait l'affaire. –