萨翁 |如何将不同的属性放入项目数组中

Savon | How to put different attributes in array of items

我正在使用 Savon gem 连接 SOAP 服务。我的问题是我需要在每个键上发送一组具有不同属性的项目。

我看过this and this

作为 XML 我想得到的是:

<Order>
  <OrderItems>
    <OrderItem code="AJF">
      <Quantity>1</Quantity>
    </OrderItem>
    <OrderItem code="BUD">
      <Quantity>1</Quantity>
    </OrderItem>
  </OrderItems>
</Order>

我发送的消息是:

{Order: {
  OrderItems: {
    OrderItem: [{
      Quantity: 1,
      attributes!: { code: "AJF"}
    },{
      Quantity: 1,
      attributes!: { code: "BUD"}
    }]
  }
}}

我得到的是:

<Order>
  <OrderItems>
    <OrderItem>
      <Quantity>1</Quantity>
    </OrderItem>
    <OrderItem>
      <Quantity>1</Quantity>
    </OrderItem>
  </OrderItems>
</Order>

我已经搜索过了,但没有找到任何东西。

有什么想法吗?

谢谢!

终于找到了this answer

散列必须是这样的:

{Order: {
  OrderItems: {
    OrderItem: [{
      Quantity: 1,
      :'@code' => "AJF"}
    },{
      Quantity: 1,
      :'@code' => "BUD"}
    }]
  }
}}