after_rollback on: создать не сработало - PullRequest
0 голосов
/ 20 мая 2019

У меня есть таблица product, и я пытаюсь запустить after_commit и after_rollback при создании.

Контроллер: * +1004 *

  product = Product.new form_params
  if product.save
    ...
  else
    ...
  end

Модель:

  after_commit(on: :create) {
    ...
  }

  after_rollback(on: :create) {
    ...
  }

after_commit работает хорошо, но after_rollback не будет работать с on: :create param. Когда я удаляю параметр on: :create, он тоже срабатывает, но мне нужен after_rollback для запуска только при создании.

1 Ответ

1 голос
/ 20 мая 2019

Я думаю, вы должны определить это по-другому ...

  after_commit :after_commit_action, on: :create

  after_rollback :after_rollback_action, on: :create

  def after_commit_action
    # do your magic
  end

  def after_rollback_action
    # do your magic
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...