Rails 5 - как отрицать вызов метода в условном обратном вызове before_save
В моей модели шаблона у меня есть этот обратный вызов:
before_save :set_status, if: :is_template?
private
def is_template?
return self.template_type == 'template'
end
Как я могу изменить его так, чтобы он срабатывал только тогда, когда template_type НЕ является 'template'?
Я попробовал это:
1 before_save :set_status, if: !:is_template?
2 before_save :set_status, if: !(:is_template?)
но они оба вызывают метод before_save
ошибка не найдена.
Прочитав этот вопрос, я также попробовал это:
before_save :set_status, if: Proc.new {|model| !model.is_template? }
Но это кажется излишним для такого простого случая.
Я действительно должен написать другой метод :is_not_template?
чтобы это работало?
1 ответ
Решение