RubyではPHPのようにデフォルトで多重Hashを利用することが出来ません。
以下のようなエラーになります。

single_h = Hash.new
single_h["first"]["second"] = "value"
  # => hash.rb:13:in `<main>: undefined method `[]= for nil:NilClass (NoMethodError)

このnilエラーを回避するためには、Hash.newの引数で直接Hashの構造を書いてやればOKです。

multi_h = Hash.new { |hash,key| hash[key] = Hash.new {} }
multi_h["first"]["second"] = "value" # => OK

puts multi_h # => {"first"=>{"second"=>"value"}}