带有rails模型的nilclass的未定义方法'+'(活动记录)

时间:2016-01-08 20:23:20

标签: ruby-on-rails ruby activerecord model-view-controller model

我有一个带有一些整数值的简单模型(我想,我至少在迁移文件中将它们设置为整数)并且我只是尝试使用模型的成员函数递增它们但是当我尝试添加时对他们我收到错误“未定义的方法`+'为nil:NilClass)

这里有任何提示吗?

def take()
    @total -= 1
    User.find(@poster_id).lifetime -= 1
end

def give()
    @total += 1
....

真的没什么,只是简单的不工作。我需要以某种方式投射这些吗?我确保在每次实例化模型类

时将值初始化为0

1 个答案:

答案 0 :(得分:1)

首先,如果total是数据库中的一列(你说它是),那么在该类的实例方法中,你应该以{{1​​}}而不是total来访问它。其次,如果你想更新@total属性,你应该更新它:)

total

类似于def take # notice no () - they are optional update(total: self.total - 1) end def give update(total: self.total + 1) end (如果,再次,它是db中的一列),你会这样做:

poster_id