我正在使用闭合表对我的其中一个模型的层次结构进行建模。这样,每当调用 Model.create 时,我都会使用 after_create 钩子来创建tree_path对象。我还希望每当 #new 与 #save 一起调用时,此钩子就会运行。这意味着我将不得不使用 after_save 而不是 after_create ,但是,after_save也可以在更新中运行,这是我所不希望的。
我可以在其中对对象的初始插入(在创建或首次保存时)运行回调,但不能在更新时运行回调吗?通过回调创建更多对象是不好的形式吗?
答案 0 :(得分:0)
经过更多调查,似乎只有在调用对象之前和之后都没有保存对象的情况下,after_create实际上确实在调用save之后运行。