有人能告诉我为什么这段代码不起作用吗?在我用于测试的本地服务器上,当我没有时,它会一直闪烁“你已经对此表示赞同”。
这是我的投票控制器代码。
def upvote
@vote = Vote.find(params[:post_id])
if current_user.votes.where(post_id: params[:post_id], value: 1)
flash[:notice] = "You have already upvoted this!"
redirect_to :back
else
@vote.update_attributes(value: 1)
@vote.user_id = current_user.id
end
end
第 4 行if current_user.votes.where(post_id: params[:post_id], value: 1)
是实现 where 方法的正确方法吗?