本文介绍了与 2.x 相比,如何修复 activesupport 3.0.0 的行为差异?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 Sinatra 应用程序中使用 Hash#to_xml.它确实有效,直到我转向 actviesupport 3.0.0
I am using Hash#to_xml in my Sinatra application. It did work till I moved to actviesupport 3.0.0
3.0.0 中对 activesupport 的使用有区别吗?
Is there a difference in usage of activesupport in 3.0.0?
例如这很好用
gem 'activesupport', '2.3.5'
require 'active_support'
{}.to_xml
和
gem 'activesupport', '3.0.0'
require 'active_support'
{}.to_xml
生成:NoMethodError:{}:Hash 的未定义方法 `to_xml'
generates: NoMethodError: undefined method `to_xml' for {}:Hash
推荐答案
ActiveSupport 在您需要
它时不再加载它的所有组件.这使您可以挑选所需的功能.
ActiveSupport no longer loads all its components when you require
it. This allows you to cherry-pick the functionality that you want.
require "active_support/core_ext/hash/conversions"
{}.to_xml
或者,如果您真的想要所有 ActiveSupport:
Or if you really want all of ActiveSupport:
require "active_support/all"
这篇关于与 2.x 相比,如何修复 activesupport 3.0.0 的行为差异?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!