ruby-on-rails
  • activerecord
  • 2013-03-22 87 views 3 likes 
    3

    在Rails中,我想通過增加一些數據庫值來更新它。 說,我有一個表中的值30,我想補充0.5。在Rails中增加數據庫值

    下面是我試過來完成它:

    Record.where(:status => "somestatus").first.value.to_f += 0.5 
    

    回報率笙歌說: 「未定義的方法`to_f ='」。 我知道我可以先獲得值,然後計算結果和update_attributes。但是最有效的方法是什麼?

    +0

    你確定你確實需要數據庫中的浮點數嗎?如果您需要存儲小數部分,請考慮在存儲小數部分時將整個值乘以10或100(例如,存儲3050而不是30.5)。 – 2013-03-22 01:25:55

    +0

    什麼是列類型?十進制? – John 2013-03-22 03:04:14

    回答

    6

    希望該字段是Float類型的,下面將根據你想要的更新值。

    object = Record.where(:status => "somestatus").first 
    object.increment!(:value, 0.5) 
    

    Check here增量文檔!方法。

    +0

    謝謝,Sagar Bommidi!這有很大幫助! – 2013-03-22 13:34:35

    相關問題