Это не так.
dave@hpubuntu1:~ $ rvm list
rvm rubies
ruby-1.8.7-p334 [ i386 ]
jruby-1.6.2 [ linux-i386-java ]
ruby-1.9.2-p0 [ i386 ]
ruby-1.9.2-p290 [ i386 ]
ruby-1.9.3-p0 [ i386 ]
=> ruby-1.9.2-p180 [ i386 ]
dave@hpubuntu1:~ $ pry
pry(main)> value = {"x" => 3, "y" => 2}
=> {"x"=>3, "y"=>2}
pry(main)> value.is_a? Hash
=> true
Mongoid Hash
не является чистым Ruby Hash
и не расширяет его. Вы должны проверить фактический тип, вероятно, используя type
.
То, что что-то печатает Hash
, не означает (а) что это часть цепочки наследования, о которой вы думаете, и (б) что это Hash
(свидетель ActiveRecord Array
, который лежит, в определенной степени).