我得到包含用户角色,控制器名称和此角色可以访问的控制器操作列表的哈希.
access = {
'admin' => [ 'users' => ['edit','delete'],
'messages' => ['show','update']
],
'user' => [ 'index' => ['index','sign-out'],
'messages' => ['show','index']
]
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能检查access['admin']['users']['edit']存在的是什么?
access['admin']['users'].include? 'edit'
Run Code Online (Sandbox Code Playgroud)
但是,这可能是一个问题:您正在使用... => ['users'=>['edit','delete'],...]
这将创建一个内部有哈希的数组.例:
{'a'=>'b'} #=> {"a"=>"b"}
['a'=>'b'] #=> [{"a"=>"b"}]
Run Code Online (Sandbox Code Playgroud)
所以考虑使用这个:
access = {
'admin' => { 'users' => ['edit','delete'],
'messages' => ['show','update']
},
'user' => { 'index' => ['index','sign-out'],
'messages' => ['show','index']
}
}
Run Code Online (Sandbox Code Playgroud)