How do I use savon nested attributes! hash?

后端 未结 2 1425
生来不讨喜
生来不讨喜 2020-12-11 04:23

I\'m looking at using Ruby savon for SOAP. For purely masochistic reasons I have to deal with SOAP elements having attributes.

So, no problem, there is an example on

相关标签:
2条回答
  • 2020-12-11 05:22

    You were close - just needed to put the :attributes! key in the same hash that contains the value.

    {
      :person => {
        :address => "", 
        :attributes! => { :address => { :id => 44 } }
      }, 
      :attributes! => { :person => { :id => 666 } } 
    }.to_soap_xml
    
    # => "<person id=\"666\"><address id=\"44\"></address></person>"
    
    0 讨论(0)
  • 2020-12-11 05:28

    I ran across the issue of the previous answer no longer working. Eventually I found https://github.com/savonrb/savon/issues/518 which lead me to the correct syntax to add attributes now.

    So the previous example would now be done as

    { 
      :person => {
        :@id => 666,
        :address => {
          :@id => 44
        }
      }
    }
    

    Which would generate the following xml

    <person id="666">
      <address id="44"/>
    </person>
    
    0 讨论(0)
提交回复
热议问题