값이있는 경우에만 self
키 값만 넣으려고합니다. 이 때문에 에스컬레이션 정책이없는 일정 내가 키 self
키에 값이 있으면 루비 값을 출력하십시오.
{"schedules"=>
[{"id"=>"0000000",
"type"=>"schedule",
"summary"=>"-PROD-",
"self"=>"https://api.pagerduty.com/schedules/",
"html_url"=>"https://pagerduty.com/schedules/",
"name"=>"-PROD-",
"time_zone"=>"America/",
"description"=>nil,
"privilege"=>nil,
"users"=>
[{"id"=>"0000000",
"type"=>"user_reference",
"summary"=>"DOo Kkkk",
"self"=>"https://api.pagerduty.com/users/",
"html_url"=>"https://target.pagerduty.com/users/"}],
"escalation_policies"=>[],
"teams"=>[]},
}
이 문제를 정복하기 위해 내 코드의 값을 원하지 않는 예이다 :
somefile = File.open("Schedule_Api.txt", "a+")
jdoc.fetch("schedules").each do |schedule|
somefile.puts schedule["self"] if schedule["escalation_policies"].exists? == true
end
somefile.close
이 변수 jdoc
은 웹 사이트의 컬입니다. 그리고 이것이 제가 얻은 결과입니다 undefined method
가 존재합니까? ' [] : Array (NoMethodError) . Is there another alternative to this then the method
가 존재합니까? 어떤 도움이 도움이 될 것입니다! 고맙습니다!
나는 "escalation_policies 키에 값이있는 경우에만"라고 제안합니다. 더 높은 기술 수준이 아니라면 빈 배열은 값이 없다는 것을 나타내지 만, 이것은 다른 사람들에게 혼란 스러울 수 있습니다. "escalation_policies 키의 해시 값이 비어 있지 않은 배열 인 경우에만"(또는 크기> 0) 더 나은 말을하는 것이 좋습니다. –
할거야! 고맙습니다! –