NoMethodError: undefined method `halt_callback_chains_on_return_false=' for ActiveSupport:Module

后端 未结 1 984
深忆病人
深忆病人 2021-01-17 12:03

I\'ve been developing this RoR 5.1 application for a while, and I need to add a new migration now:

class AddActiveFlagToParameters < ActiveRecord::Migrati         


        
相关标签:
1条回答
  • 2021-01-17 12:32

    halt_callback_chains_on_return_false setting in the initializer was a solution for temporary keeping old callback behaviour after upgrade to Rails 5.0. Assumed that you need time to check all callbacks in the app and after it you can remove this setting. And assumed that on the upgrade to 5.2 all is already checked, so this setting is removed.

    Before Rails 5, returning false from any before_ callback in ActiveModel or ActiveModel::Validations, ActiveRecord and ActiveSupport resulted in halting of callback chain.

    Starting from Rails 5.0 if any before_ callback returns false then callback chain is not halted. To explicitly halt the callback chain, we need to use throw(:abort).

    So you need to check all before_callbacks in the app for proper behaviour, change them if needed and remove this line from initializer after it.

    You can read more here

    0 讨论(0)
提交回复
热议问题