2015-01-11 2 views
0

У меня есть две моделей, пользователи и тренировкиRails имеет много через себя уникальную проверку

Один пользователь может иметь много студентов и тренеров

кода из модели Пользователей:

has_many :coachings, :foreign_key => :student_id 
    has_many :coaches, :through => :coachings, :foreign_key => :coach_id 

Кода с Модели коучейков:

belongs_to :coach, :class_name => 'User' 
belongs_to :student, :class_name => 'User' 

Но это позволяет добавлять повторяющиеся записи в db (один пользователь может h ave дублируют тренеры или дублируют студентов). Как правильно проверить это?

Благодаря

ответ

1

Похоже, вы ищете способ для проверки уникальности combindation из coach_id и student_id.

Попробуйте это:

coaching.rb

validates_uniqueness_of :coach_id, scope: :student_id 
+0

Я попробовал это. Rails будет продолжать запрашивать шаблон («Missing patterns coachings/create»), и я не хочу создавать пустые шаблоны. Но я думаю, если нет другого пути, я могу пойти так – Nausik

+0

nvm, я глуп. Это работает: D Спасибо – Nausik

+0

Отсутствует шаблон звучит как проблема контроллера. Как вы обрабатываете попытку создания недопустимых записей? – evanbikes

Смежные вопросы