萨文|如何在项目数组中放置不同的属性

时间:2016-03-08 02:32:54

标签: ruby-on-rails-4 savon

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

我看过thisthis

我试图获得的是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>

我已经搜查了它但却找不到任何东西。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

最后我找到了this answer

哈希必须是这样的:

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