Bir Builder :: XmlMarkup nesnesinden raw xml'ye erişme ile ilgili sorunlar yaşıyorum. Ben XML oluşturmak için Builder kullanıyorum bir komut dosyası olarak TypeError: Builder :: XmlMarkup öğesini Array 'a dönüştüremiyor
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'
, bir POST için @xml geçiyorum:
TypeError (can't convert Builder::XmlMarkup to Array (Builder::XmlMarkup#to_ary gives String)):
:
response = HTTParty.post(API_ENDPOINT, :body => @xml)
Bu aynı hata veriyor
Elbette, @ xml.to_xml yaparsam, bir hata döndürmez, ancak xml'ye </to_xml>
ekler, bu aslında XML nesnesini xml'ye dönüştürmez. İstediğim bu değil.
Peki, xml'ye ek düğüm eklemeden postama iletebilmem için xml'ye nasıl erişebilirim?
Düzenleme: olası çözüm @xml.target!
sorunu çözmek gibi görünüyor, ama ben anlamak emin değilim Doing
.
response = HTTParty.post(API_ENDPOINT, :body => @xml.target!)
Belki de birileri burada neler olup bittiğini anlamama yardımcı olabilir.
puts xml
kullanma