[英]In Rails, how do I merge two objects?
我正在運行Rails5。假設我有兩個(相同類型的)對象。 我如何合並這些對象,以便如果一個對象包含空字段,而另一個對象不包含空字段,則合並的對象將具有非空值? 如果兩個對象的屬性值都不為nil,則可以選擇任意一個。 也就是說,假設對象是
Object A
attrA : nil
attrB : ABCD
attrC : nil
attrD : EEE
Object B
attrA : 1234
attrB : nil
attrC : 999
attrD : FFF
我該如何寫一些合並對象的東西,使得合並后的對象是
Object C
attrA : 1234
attrB : ABCD
attrC : 999
attrD : EEE
像這樣:
Object.new(@objectA.attributes.merge(@objectB.attributes) {|_, one, two| one || two})
PS。 我建議從模型中刪除id
字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.