我正在使用一个闭包表来对我的一个模型的层次结构进行建模。因此,我正在使用after_create因此,每当调用Model.create挂钩来创建 tree_path 对象。我还希望在#new与#save一起调用时运行此挂钩。这意味着我必须使用after_save而不是after_create,但是 after_save 也在更新时运行,这是我不想要的。
是否可以让回调在对象的初始插入(创建或首次保存)时运行,但不能在更新时运行?从回调中创建更多对象是不好的形式吗?
我正在使用一个闭包表来对我的一个模型的层次结构进行建模。因此,我正在使用after_create因此,每当调用Model.create挂钩来创建 tree_path 对象。我还希望在#new与#save一起调用时运行此挂钩。这意味着我必须使用after_save而不是after_create,但是 after_save 也在更新时运行,这是我不想要的。
是否可以让回调在对象的初始插入(创建或首次保存)时运行,但不能在更新时运行?从回调中创建更多对象是不好的形式吗?