我得到包含用户角色、 Controller 名称和该角色可以访问的 Controller 操作列表的哈希值。
access = {
'admin' => [ 'users' => ['edit','delete'],
'messages' => ['show','update']
],
'user' => [ 'index' => ['index','sign-out'],
'messages' => ['show','index']
]
}
我如何检查存在哪些access['admin']['users']['edit']
?
最佳答案
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']
}
}
关于ruby - Hash with arrays - 获取数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6486051/