Voglio ActiveRecord
cercare una colonna non id da una tabella. Spero che questo sia chiaro quando ti do il mio esempio di codice.Rails: ricerca chiave esterna non idattiva ActiveRecord
class CoachClass < ActiveRecord::Base
belongs_to :coach
end
class Coach < ActiveRecord::Base
has_many :coach_classes, :foreign_key => 'user_name'
end
Quando faccio un coach_obj.coach_classes
, questo innesca giustamente
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 2)
(2 è il quel id
qui allenatore che è il mio problema.)
voglio che innescare
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 'David')
("David" è ildi quell'allenatore)
user_name
è unico e presente in entrambe le tabelle.
Non voglio avere un coach_id
nella mia tabella coach_classes
per qualche motivo.
avviso non richiesto: è possibile prendere in considerazione l'aggiunta di un coach_id alla tabella, renderà più semplice se questa relazione diventa nidificata e più convenzionale. –
Grazie Jed. Ma non voglio coach_id lì per qualche motivo. – Garfield