Je veux ActiveRecord
Lookup par une colonne non-id d'une table. J'espère que ceci est clair quand je vous donne mon exemple de code.Rails: Non id clé étrangère recherche ActiveRecord
class CoachClass < ActiveRecord::Base
belongs_to :coach
end
class Coach < ActiveRecord::Base
has_many :coach_classes, :foreign_key => 'user_name'
end
Quand je fais une coach_obj.coach_classes
, ce qui déclenche à juste titre
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 2)
(2 étant le id
de cet entraîneur ici qui est mon problème.)
Je veux déclencher
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 'David')
('David' est leque l'entraîneur de)
user_name
est unique et présente dans les deux tableaux.
Je ne veux pas avoir un coach_id
dans ma table coach_classes
pour une raison quelconque.
conseils non sollicités: vous voudrez peut-être envisager d'ajouter un coach_id à la table, il sera plus facile si cette relation devient imbriqué et plus classique. –
Merci Jed. Mais je ne veux pas coach_id là pour une raison quelconque. – Garfield