Обратный вызов Rails после вставки

Я использую замыкающую таблицу для моделирования иерархической структуры одной из моих моделей. Таким образом, я использую хук after_create для создания объектов tree_path всякий раз, когда вызывается Model.create. Я также хотел бы, чтобы этот хук запускался всякий раз, когда #new вызывается в сочетании с #save. Это будет означать, что мне придется использовать after_save вместо after_create, однако after_save также запускается при обновлении, чего я не хочу.

Можно ли запустить обратный вызов при начальной вставке объекта (при создании или первом сохранении), но не при обновлении? Является ли плохим тоном создавать больше объектов из обратного вызова?


person C-RAD    schedule 18.07.2019    source источник


Ответы (1)


После дополнительных исследований выяснилось, что after_create действительно запускается после вызова сохранения, только если объект не был сохранен ни до, ни после создания.

person C-RAD    schedule 18.07.2019