2016-04-29 56 views
0

不好意思問這個問題,但我真的是Ruby的新手,我需要幫助來更新mu數據庫上的幾條記錄。使用Ruby ActiveRecord將值更新爲JSON字符串?

從下面的代碼開始。你能幫我寫一個控制檯查詢或指令,幫助我將「size」=>「001」的值更改爲「size」=>「400」。

2.1.2 :050 > orders.first 
=> #<Order id: 3193, qty: 3193, data: {"size"=>"001", "barcode"=>"123456789", "barcode_type"=>"128"}, order_item_id: 473, sub_item_id: 001, created_at: "2015-07-26 05:03:32", updated_at: "2015-07-26 05:03:32"> 

那麼我應該怎麼做,如果我想更新所有的訂單,不僅是第一個?

+1

對數據使用序列化屬性嗎? – Ilya

+0

數據是字符串列嗎? – Ilya

+0

該列的格式爲JSON –

回答

0

測試中號庫馬爾的解決方案後,您的訂單模式,我找到了正確的方式來做到這一點是

orders = Order.all 
orders.each do |order| 
    order.data["size"] = "400" 
    order.save 
end 
0

遍歷每個訂單 如:

orders = Order.all 
orders.each do |order| 
    order.data[:size] = "400" 
    order.save 
end 

此外,「serialize :data」中,如果沒有添加

+0

是的,但如果我想要更新的數據在一列的JSON字符串內呢? –

+0

我已經更新了我的答案,請檢查它是否適合您。 –