散列数组 - 获取数组元素

时间:2011-06-26 18:59:08

标签: ruby

我得到的哈希包含用户角色,控制器名称以及此角色可以访问的控制器操作列表。

access = {
    'admin' => [ 'users'    => ['edit','delete'],
                 'messages' => ['show','update']
               ],
     'user' => [ 'index'    => ['index','sign-out'],
                 'messages' => ['show','index']
               ]
}

如何查看access['admin']['users']['edit']存在的内容?

1 个答案:

答案 0 :(得分:5)

access['admin']['users'].include? 'edit'

但是,这可能是一个问题:您正在使用... => ['users'=>['edit','delete'],...] 这将创建一个内部有哈希的数组。例如:

{'a'=>'b'} #=> {"a"=>"b"}
['a'=>'b'] #=> [{"a"=>"b"}]

所以考虑使用它:

access = {
    'admin' => { 'users'    => ['edit','delete'],
                 'messages' => ['show','update']
               },
     'user' => { 'index'    => ['index','sign-out'],
                 'messages' => ['show','index']
               }
}