У меня есть модель, которая использует наследование одной таблицы и имеет разные типы (учебный год типа семестр или квартал), и у каждого типа есть свои валидации.Если пользователь пытается изменить тип записи, он может выбрать тип учебного года из выпадающего списка и внести изменения.однако, если пользователь меняет тип, я не могу понять, как запустить новые проверки классов, а не старые проверки.Например, мой код выглядит следующим образом:
@school_year = SchoolYear.find(params[:id])
respond_to do |format|
if SchoolYear::SUBCLASSES.include? params[:school_year]['type']
@school_year[:type] = params[:school_year]['type']
else
raise "Invalid type"
end
if @school_year.update_attributes(params[:school_year])
# done
else
# validation problem?
end
теперь, если типом года был семестр, а пользователь меняет его на квартал, я ожидаю, что проверки QuarterSchoolYear будут выполняться, а не проверки семестра.Как внести изменения в код, чтобы он работал?