Ruby on rails ActiveSupport::缺少回调方法。Can';找不到方法选项

Ruby on rails ActiveSupport::缺少回调方法。Can';找不到方法选项,ruby-on-rails,ruby,callback,activesupport,Ruby On Rails,Ruby,Callback,Activesupport,我想知道如何从rails 3.14迁移到rails 4.2 现在,我尝试在ActiveSupport::Callbacks::Callback 此方法存在于ActiveSupport::Callbacks::Callback版本3.0.9中,但在最新版本4.2中不存在 在rvm目录中进行activesupport/*库调查后,我找到了方法normalize_callback_params,该方法返回类型、过滤器、选项,但这无助于我通过应用程序中的测试 然而,我在ActiveSupport::Ca

我想知道如何从rails 3.14迁移到rails 4.2

现在,我尝试在
ActiveSupport::Callbacks::Callback

此方法存在于ActiveSupport::Callbacks::Callback版本3.0.9中,但在最新版本4.2中不存在

在rvm目录中进行activesupport/*库调查后,我找到了方法
normalize_callback_params
,该方法返回
类型、过滤器、选项
,但这无助于我通过应用程序中的测试

然而,我在ActiveSupport::Callbacks::Callback:if属性中发现了一个有趣的属性。它为这个回调返回bool表达式,因此,我的测试可以用它重写

    it 'should apply filter options' do
        klass.unjsonify_param :param_name, { only: [:create, :update] }
        filters = klass._process_action_callbacks
        puts "this is filters methods #{filters.class.instance_methods.sort - Array.instance_methods}"
        filter = filters.find { |f| f.filter == :unjsonify_param_name }
        puts "this is filter methods: #{filter.class.instance_methods.sort - Object.instance_methods}"
        puts "this is filter: #{filter.instance_values}"
        # fail here, method `options` doesn't exists for ActiveSupport::Callbacks::Callback::<instance_hash>       
        expect(filter.options[:only]).to be == [:create, :update]
      end
它“应该应用过滤器选项”吗
klass.unjsonify_param:param_name,{only:[:创建,:更新]}
筛选器=klass.\u进程\u操作\u回调
放置“这是筛选器方法#{filters.class.instance_methods.sort-Array.instance_methods}”
filter=filters.find{| f | f.filter==:unjsonify_param_name}
放置“这是筛选方法:#{filter.class.instance_methods.sort-Object.instance_methods}”
放置“这是筛选器:#{filter.instance_values}”
#此处失败,ActiveSupport::Callbacks::Callback:的方法“options”不存在:
期望(filter.options[:only])。为==[:创建,:更新]
结束
谁能帮助我理解新的activesupport回调体系结构,以便从旧rails版本迁移到新版本