是什么原因导致弃用警告:ActiveRecord::Base.reise_in_transactional_callba



当我运行我的功能规范时,我收到了这个消息:

弃用警告:ActiveRecord::Base.reise_in_transactional_callbacks=已弃用,无效,将在不替换的情况下删除。

我使用的是Rails 5.0.0.rc1,不确定是什么引发了这个弃用警告。

我的application.rb文件中有这个。我删除了它,贬低警告消失了:

config.active_record.raise_in_transactional_callbacks = true

我想了解一下这个贬低警告的实际含义,以及是什么触发了这个贬低警告。

我相信这种行为是在4.1和4.2之间添加的,作为对轨道5:中不再相关的问题的临时解决方案

http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#error-处理事务回调

当前,活动记录抑制内部引发的错误after_rollback或after_commit回调,并仅将它们打印到日志。在下一个版本中,这些错误将不再被抑制。相反,错误将像在其他Active中一样正常传播记录回调。

当您定义after_rollback或after_commit回调时,您将收到关于即将进行的更改的弃用警告。当你准备好了,您可以选择采用新的行为并删除弃用通过将以下配置添加到config/application.rb:

config.active_record.raise_in_transactional_callbacks = true

为了澄清,@pixelearth认为我下面的评论不够清晰/突出。在Rails 5及以后版本中,从config/application.rb:中删除线路

config.active_record.raise_in_transactional_callbacks = true

在这里写这篇文章是为了增强@R的可视性。Hatherall的评论。

我在升级到5时收到这个警告,不是因为我的DIDN在application.rb中没有以下设置,而是因为我DID。

在轨道5中,从应用程序中删除以下行.rb

config.active_record.raise_in_transactional_callbacks = true

最新更新