插入后的 Rails 回调
Posted
技术标签:
【中文标题】插入后的 Rails 回调【英文标题】:Rails callback for after insert 【发布时间】:2019-07-18 15:08:19 【问题描述】:我正在使用一个闭包表来对我的一个模型的层次结构进行建模。因此,每当调用 Model.create 时,我都会使用 after_create 挂钩来创建 tree_path 对象。我还希望在 #new 与 #save 一起调用时运行此挂钩。这意味着我必须使用 after_save 而不是 after_create,但是 after_save 也在更新时运行,这是我不想要的。
是否可以让回调在对象的初始插入时运行(在创建或第一次保存时)但不能在更新时运行?从回调中创建更多对象是不好的形式吗?
【问题讨论】:
【参考方案1】:经过更多调查,似乎 after_create 实际上确实在调用 save 之后运行,但前提是对象在创建之前和之后都没有保存。
【讨论】:
以上是关于插入后的 Rails 回调的主要内容,如果未能解决你的问题,请参考以下文章