Я печатаю идентификатор записи после сохранения метода обратного вызова, как показано ниже. после вывода «id» я вызываю исключение.
def after_save_run
puts "id is #{self.id}"
raise "exception"
end
Приведенный выше метод генерирует вывод ниже для каждого вызова сохранения
id is 1
id is 2
id is 3
Из-за исключения в методе после сохранения no записи сохраняются в базе данных и, следовательно, моя таблица пуста, но тогда как acitverecord автоматически увеличивает первичный ключ? Как activerecord знает, каким был последний сгенерированный идентификатор, если в таблице нет записей?