如何检查用户是否在24小时之前投票4

时间:2015-09-09 08:58:04

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我需要检查用户是否在24小时之前投票,如果是,我需要允许他投票

if current_user.vote = true
  if @vote.updated_at > Time.now - 24.hours          
    @vote.save          
  end
end

但是我收到了错误 未定义的方法`>'为零:NilClass 那么我该如何解决这个问题?

1 个答案:

答案 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是你的新对象