当我运行我的功能规范时,我收到了这个消息:
弃用警告: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