Я бы сказал, что использование has_and_belongs_to_many
следует использовать, когда у вас есть только таблица базы данных, а не модель Rails для объединения моделей.В вашем случае, так как у вас есть модель с именем Rating, я бы сказал, что лучше использовать has_many, :through
.
. Для этого измените ваши модели Учителя и Клиента так, чтобы они выглядели так:
class Client < ActiveRecord::Base
has_many :ratings
has_many :teachers, :through => :ratings
end
class Teacher < ActiveRecord::Base
has_many :ratings
has_many :clients, :through => :ratings
end
Модель Rating не нуждается в каких-либо изменениях.