Has_many through avec conditions

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