Уровень стека слишком глубокий, может быть рекурсивный, но не уверенный
Я получаю Stack Level too deep
ошибка, и я думаю, что это связано со следующим кодом, но я не уверен, как это исправить:
after_save :update_milestone
def update_milestone
if order % 50 == 0
self.update_attributes(is_milestone: true)
else
self.update_attributes(is_milestone: false)
end
end
Какие-нибудь мысли
1 ответ
Решение
Вы вызываете update_attributes, который попадает в проверки. Это тогда вызывает обратный вызов after_save, который вызывает ошибки.
Ты хочешь:
self.update_column(:is_milestone, value)
Это не вызовет проверки.