我需要检查用户是否在24小时之前投票,如果是,我需要允许他投票
if current_user.vote = true
if @vote.updated_at > Time.now - 24.hours
@vote.save
end
end
但是我收到了错误 未定义的方法`>'为零:NilClass 那么我该如何解决这个问题?
答案 0 :(得分:0)
根据您的问题,以下代码块是代码的问题
if current_user.vote = true ## This always return true so you should have `current_user.votes.present?`
if @vote.updated_at > Time.now - 24.hours ## @vote object is blank instaed it should be `current_user.votes.last.updated_at < Time.now - 24.hours`
@vote.save
end
end
所以尝试改变这样:
if current_user.votes.present?
if current_user.votes.last.updated_at < Time.now - 24.hours
@vote.save
end
end
考虑@vote是你的新对象