如何创建关联

时间:2017-04-26 21:56:52

标签: grpc

说我生成的GRPC订单看起来像这样:

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_message "something.Order" do
    optional :uuid, :string, 1
    repeated :shipments, :message, 2, "something.Shipment"
    ...  
  end
end

Order有很多shipments。当我创建订单以作为服务中的响应发回时...如何创建多个货件?

我可以这样做:

order = Order.find(request.id)
Something::Order.new(uuid: order.id, shipments: [order.shipments)

或者它需要是:

order = Order.find(request.id)
Something::Order.new(uuid: order.id, shipments: [order.shipments.attributes)

我从these docs

获得后者

1 个答案:

答案 0 :(得分:0)

我不确定但是看起来像google-protobuf软件包在这里使用了吗? (https://github.com/google/protobuf)。

如果是这样的话,我不认为ruby-protobuf文档在这里是相关的。

在这里使用Google :: Protobuf时,看起来您应该能够将一系列Shipment对象添加到'货件中。 '秩序'实例