Здравствуйте!
Есть такая ситуация:
class CheckerResult < ApplicationRecord
has_many :checker_errors, dependent: :destroy
###
end
class CheckerError < ApplicationRecord
belongs_to :checker_result
###
end
checker_result = CheckerResult.new(...)
# Создается несколько таких checker_error
checker_result.checker_errors.new(...)
checker_result.checker_errors.new(...)
checker_result.save
Необходимо, чтобы checker_error имел какой-то метод, который проверяет значение поля, и в зависимости от его значения мог удалить себя (отменить создание), как-бы игнорировать создание.
Схематично:
class CheckerError < ApplicationRecord
belongs_to :checker_result
###
def delete_if_some
отменить_создание_себя if условие
end
end
Пробовал такие варианты:
before_create do
throw(:abort) if условие
end
before_create do
destroy if условие
end
но они не подходят.
Наверно, не очень понятно объяснил. Заранее спасибо!