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