2014-02-22 54 views
1

我有一個mongoid對象無法保存mongoid散列值

@tran = Translations.where({:_id => params[:id]})[0]

目的@tran具有@tran[:translations]

一個陣列散列我試圖改變像陣列中的散列值所以:

@tran[:translations][0]['rated'] = (@tran[:translations][0]['rated']+1)

,我做了一個@tran.save

但值似乎沒有更新。

我在這裏做錯了什麼?

PS,下面是@tran[:translations]值:[{"value":"hello3","rating":100,"rated":0}]

回答

1
@tran = Translation.find params[:id] 

您可以使用此行 - >

@tran.update_attributes(:rated => @tran.rated+1) 

還是這行 - >

@tran.rated += 1 
@tran.save