【发布时间】:2016-12-20 15:35:16
【问题描述】:
这应该是一个相当容易修复的错误(我希望如此)。当我的应用程序上的 joke 获得批准时,我希望 user 被授予 5 manpoints(不要问)。我目前在我的“jokes_controller”中有这个:
def approve
@joke = Joke.find(params[:id])
@joke.update_attributes(approved: true)
if @joke.user.manpoints = nil
@joke.user.manpoints = 5
else
@joke.user.manpoints += 5
end
@joke.save
redirect_to jokes_path
end
我在尝试批准一个笑话时收到此错误:
undefined method `+' for nil:NilClass
我认为 += 是执行此操作的“Ruby 方式”?谁能直截了当?
【问题讨论】:
-
尝试将
@joke.user.manpoints = nil更改为@joke.user.manpoints.nil?和@joke.user.manpoints == nil应该是正确的语法
标签: ruby-on-rails