2010-09-04 6 views
6

Sto usando Hash # to_xml nella mia applicazione Sinatra. Ha funzionato fino a quando non mi sono trasferito a actviesupport 3.0.0Come risolvere la differenza di comportamento di activesupport 3.0.0 confronta con 2.x?

C'è una differenza nell'utilizzo di activesupport in 3.0.0?

Per esempio, questo funziona bene

gem 'activesupport', '2.3.5' 
require 'active_support' 
{}.to_xml 

e

gem 'activesupport', '3.0.0' 
require 'active_support' 
{}.to_xml 

genera: NoMethodError: metodo non definito `to_xml' per {}: Hash

risposta

9

ActiveSupport non più carichi tutte le sue componenti al momento Si require it. Ciò ti consente di scegliere con certezza la funzionalità che desideri.

require "active_support/core_ext/hash/conversions" 
{}.to_xml 

Oppure, se si vuole veramente tutti ActiveSupport:

require "active_support/all"