我是Ruby和Rails的新手,我遇到了需要創建哈希數組的情況。請看下面的代碼:在陣列中合併哈希
def self.v_and_c items
result = []
items.try(:each) do |item|
result << item
if item.is_parent_variation
check_ancestor item
result << { :item_variation => @variations }
result << { :options => @options }
elsif item.is_parent_customization
check_ancestor item
result << { :customizations => @customizations }
result << { :ingredients => @ingredients }
end
end
result
end
下面是函數的輸出:
{"items":[{"id":1,"name":"Cake"},{"item_variation":null},{"options":null}]}
但我想做的事是這樣的。
{"items":[{"id":1,"name":"Cake","item_variation":null, "options":null} ]}
感謝您的快速回復,實際上有時check_ancestor函數調用不按照條件,所以我來了兩次。 –
item_hash = {} .merge(item) - >這是創建錯誤,所以我已經將它改爲item_hash = {} .merge(item:item),否則就會拋出錯誤,無法將Item隱式轉換爲Hash。 –
我認爲項目是一個散列。我的錯。 –