gpt4 book ai didi

ruby-on-rails - 使 RoR 嵌套可表示为数组

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:04 25 4
gpt4 key购买 nike

在使用representable gem ,我希望在一个数组中嵌套一个对象,该数组只有一个对象。我看不出如何做到这一点。有任何想法吗?其原因在于 Google 跟踪代码管理器处理增强型电子商务跟踪的方式。

nested 'products' do
property :name, getter: lambda{|*| name }
property :id
end

会吐出:

"products": {
"name" : "Nike Swoosh",
"id" : 8
}

当我想要的是:

"products": [ {
"name" : "Nike Swoosh",
"id" : 8
} ]

最佳答案

您可以只在可表示模块中使用集合。尽管您只有一个对象,但由于您想将其包装在一个数组中。从技术上讲,它成为具有单个对象的集合。然后在父对象中定义一个具有该集合名称的 getter。这是一个例子:

require 'ostruct'
require 'representable'
require 'representable/json'

class Order < Struct.new(:order, :product)

def products
[product]
end
end

module OrderRepresenter
include Representable::JSON

property :name
collection :products
end


sale = Order.new(name: "An order name", product: {name: "My Product", id: 1})
p sale.extend(SaleRepresenter).to_json

关于ruby-on-rails - 使 RoR 嵌套可表示为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31591982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com