Bonjour,
J’ai un modèle où un utilisateur peut être en relation avec différent
type de sociétés ( et vice versa), je les ai déclaré comme suit
Modèle User
has_many :users_companies
has_many :companies, through => :users_companies
Modèle Company
has_many :users_companies
has_many :users, through => :users_companies
Modèle UsersCompany
belongs_to :company
belongs_to :user
Maintenant je voudrais savoir si je peux créer une relation through
conditionnelle pour avoir “les plombiers avec lesquelles je suis en
relation” du type
has_many :plombier, through => :users_companies, :class
=> :company, :conditions => “company_type_id = 1”
J’ai essayé plusieurs variantes mais sans résultat
Merci de votre aide
Nicolas
On peut avoir un retour sur les requetes générées dans le log ?
Désolé,
en fait quand j’essaye de faire
@user.plombier j’obtiens l’erreur suivante :
ActionView::TemplateError (Could not find the source
association(s) :Company in model UsersCompany. Try
'has_many :plombier, :through => :users_companies, :source =>
'. Is it one of :company or :user?)
J’ai essayé avec :source => “company” (et autres modèles) mais j’ai
toujours cette erreur “Could not find the source association …”
Du coup je me demandais si c’était possible
nicolas
Petite erreur de frappe, je faisais :source => “Company” alors qu’il
fallait écrire :source => :company.
Je n’ai plus l’erreur mais la condition ne marche pas.
Je cherche d’ou ça peut venir
Nicolas
ça à l’air de marcher, pour ceux que ça intéresse, voici la syntaxe
employée
has_one :plombier, :through => :buildings_companies, :source
=> :company, :conditions => “companies.company_type_id =
‘#{Company::PLOMBIER}’”
Nicolas