我正在尝试向数据库中已递增的字段添加一个,但出现以下错误:NoMethodError (undefined method +'for false:FalseClass):`

代码:

med = Media.find(params[:media_id])
med.update_attributes({:screener_viewed => med.screener_viewed + 1})

我只是想将1添加到screener_viewed的当前值,但无法使其正常工作。

工作代码:
Media.increment_counter(:screener_viewed, params[:media_id])

最佳答案

使用increment!:

med.increment!(:screener_viewed)

确保screener_viewed在您的数据库中是整数类型。

关于ruby-on-rails - Rails加一以增加SQL值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4548923/

10-12 17:07