Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 无法从Rails中的库获取变量_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 无法从Rails中的库获取变量

Ruby on rails 无法从Rails中的库获取变量,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在构建一个RoR应用程序,它获取我的Netbox实例(一个开源IPAM)来显示我们的虚拟机 我在ruby()中使用了一个netbox库,它也可以工作,但在获取变量时遇到了问题 也许是因为我的Ruby水平低,但我没有找到任何答案 我在控制器中获取虚拟机 我在erbhtml文件中使用@vms变量 有什么想法吗 库中的Json对象如下所示: {"id"=>159, "name"=>"VM1", "status&

我正在构建一个RoR应用程序,它获取我的Netbox实例(一个开源IPAM)来显示我们的虚拟机

我在ruby()中使用了一个netbox库,它也可以工作,但在获取变量时遇到了问题

也许是因为我的Ruby水平低,但我没有找到任何答案

我在控制器中获取虚拟机 我在erbhtml文件中使用@vms变量 有什么想法吗

库中的Json对象如下所示:

{"id"=>159,
 "name"=>"VM1", 
 "status"=>{"value"=>"active", "label"=>"Active", "id"=>1}, 
 "tenant"=>nil, 
 "primary_ip"=>{"id"=>916, "url"=>"", "family"=>6, "address"=>"200e::1/64"}, 
 "config_context"=>{}, 
 "created"=>"2018-07-19", 
 "last_updated"=>"2018-08-16T11:29:17.695587+11:00"
}

提前感谢

您需要获取嵌套哈希值。 尝试使用以下方法:

vm.dig('primary_ip', 'address')

我使用
vm[:primary\u-ip]。to\u-h[“address”]

为什么我要把它移到_hash


谢谢你的帮助,
vm
不是散列,它是一个类似的
primary\u id
是一个,所以我怀疑一个简单的
dig
会起作用。什么是
vm.primary\u ip.inspect
{"id"=>159,
 "name"=>"VM1", 
 "status"=>{"value"=>"active", "label"=>"Active", "id"=>1}, 
 "tenant"=>nil, 
 "primary_ip"=>{"id"=>916, "url"=>"", "family"=>6, "address"=>"200e::1/64"}, 
 "config_context"=>{}, 
 "created"=>"2018-07-19", 
 "last_updated"=>"2018-08-16T11:29:17.695587+11:00"
}
vm.dig('primary_ip', 'address')