Я хочу, чтобы ActiveRecord
выполнял поиск по столбцу non-id из таблицы.
Надеюсь, это ясно, когда я даю вам свой пример кода.
class CoachClass < ActiveRecord::Base
belongs_to :coach
end
class Coach < ActiveRecord::Base
has_many :coach_classes, :foreign_key => 'user_name'
end
Когда я делаю
coach_obj.coach_classes
, это правильно вызывает
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 2)
(2 является тем тренером id
здесь, что является моей проблемой.)
Я хочу, чтобы он запускал
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 'David')
( "Давид" является тренером user_name
)
user_name
уникален и присутствует в обеих таблицах.
По какой-то причине я не хочу иметь coach_id
в моей таблице coach_classes
.