У меня before_save определено следующим образом:
def before_save self.token = generate_token end
Я хочу пропустить это для определенных вызовов метода сохранения. так что в моем коде я хотел бы сделать
@user.save
без вызова фильтра before_save. Могу я это сделать?
Вы можете сделать:
@user.send(:update_without_callbacks)
Или create_without_callbacks также работает. Я использовал оба, но я не знаю, есть ли «save_without_callbacks» В любом случае, используйте экономно.
Вы также можете включить условную логику в свой метод для обработки случаев, когда вы не хотите, чтобы обратный вызов срабатывал.
def before_save self.token = generate_token if token.blank? end
Не очень хороший пример, но вы поняли.