我在变量测试中有以下输出
#<someobject customer=[#<someobject product=[#<someobject id='ABC123'>, #<someobject id=''>], id='ADE343'>]>
我正尝试将其结果转换如下:
#<someobject customer=[#<someobject product=['ABC123','DEF143'], id='ADE343'>]>
我可以使用以下方法实现这一目标,但看起来有些过分
test1 = test.customer.map { |p| p.product }.flatten.map { |e| e.id }
test.customer.map { |p| p.product = test1 }
test
还有更好的方法吗?
答案 0 :(得分:2)
test.customer.tap { |obj| obj.product.map!(&:id) }