0

我正在使用一个闭包表来对我的一个模型的层次结构进行建模。因此,我正在使用after_create因此,每当调用Model.create挂钩来创建 tree_path 对象。我还希望在#new#save一起调用时运行此挂钩。这意味着我必须使用after_save而不是after_create,但是 after_save 也在更新时运行,这是我不想要的。

是否可以让回调在对象的初始插入(创建或首次保存)时运行,但不能在更新时运行?从回调中创建更多对象是不好的形式吗?

4

1 回答 1

0

经过更多调查,似乎 after_create 实际上确实在调用 save 之后运行,只有当对象在创建之前和之后没有被保存时。

于 2019-07-18T15:18:46.123 回答