A Course
имеет много Lessons
, и они выбираются пользователем с помощью виджета JS drag-n-drop, который работает нормально.
Вот соответствующая часть параметров, когда я выбираю два урока:
Parameters: {
"course_lessons_attributes"=>[
{"lesson_id"=>"43", "episode"=>"1"},
{"lesson_id"=>"44", "episode"=>"2"}
]
}
Я хочу выполнить некоторые проверки на @course
, и это новый набор уроков, включая их количество, сумму цен на уроки и прочее. Вот образец:
Модель курса
validate :contains_lessons
def contains_lessons
errors[:course] << 'must have at least one lesson' unless lessons.any?
end
Моя проблема заключается в том, что связи между курсом и уроками еще не созданы до того, как курс будет сохранен, и именно тогда я хочу призвать их для подтверждения (используя course.lessons
).
Как правильно выполнять пользовательские проверки, основанные на связях?
Спасибо.