在现有活动记录对象上重新运行 after_create 回调
Posted
技术标签:
【中文标题】在现有活动记录对象上重新运行 after_create 回调【英文标题】:Re-run after_create callback on existing active record objects 【发布时间】:2021-12-23 02:16:12 【问题描述】:我最近重构了一些代码,并向名为 Product 的活动记录对象添加了一系列 after_create 回调。我在生产数据库中有很多产品,不想手动重新创建它们。无论如何我可以通过 rails 控制台重新创建活动记录对象的所有现有实例,以便在每个实例上运行 after_create 回调?
【问题讨论】:
回调只是方法。Product.first.an_after_create_callback
应该可以工作。如果回调是私有的,请使用send
。请更新模型和回调。
成功了!谢谢
【参考方案1】:
根据 razvans 的评论,我打开 Rails 控制台并运行
Product.all.each |product| product.send(:call_back)
【讨论】:
以上是关于在现有活动记录对象上重新运行 after_create 回调的主要内容,如果未能解决你的问题,请参考以下文章
如果活动在后台运行,则无需通过启动器即可从小部件恢复现有活动