6
Builder :: XmlMarkup 개체에서 원시 XML에 액세스하는 데 문제가 있습니다. 나는 XML을 생성하는 빌더를 사용하고 스크립트에서 TypeError : Builder :: XmlMarkup을 Array로 변환 할 수 없습니다.
irb> xml = Builder::XmlMarkup.new(:target => '')
=> <pretty_inspect/>
irb> xml.foo("bar")
=> "<pretty_inspect/><foo>bar</foo>"
irb> puts xml
TypeError: can't convert Builder::XmlMarkup to Array (Builder::XmlMarkup#to_ary gives String)
from (pry):122:in `puts'
, 나는 POST에 @xml을 전달 해요 :
TypeError (can't convert Builder::XmlMarkup to Array (Builder::XmlMarkup#to_ary gives String)):
:
는
response = HTTParty.post(API_ENDPOINT, :body => @xml)
이 같은 오류를 제공합니다
물론 @ xml.to_xml을 사용하면 오류를 반환하지 않지만 </to_xml>
을 XML에 추가합니다. 즉 XML 객체를 xml로 실제로 변환하지 않습니다. 그건 내가 원하는 것이 아니야.
그렇다면 xml에 대한 액세스 권한을 얻으면 XML에 여분의 노드를 추가하지 않고도 내 게시물에 전달할 수 있습니까?
편집 : 가능한 솔루션 @xml.target!
이 문제를 해결하는 것,하지만 난 이유를 이해 확실하지 않다 이렇게
.
response = HTTParty.post(API_ENDPOINT, :body => @xml.target!)
아마도 누군가 여기에서 무슨 일이 일어나고 있는지 이해할 수 있습니다.
puts xml
를 사용
이