【发布时间】:2013-04-07 19:06:12
【问题描述】:
谁能告诉我为什么这段代码不起作用?在我用于测试的本地服务器上,它一直在闪烁“你已经对此进行了投票”,而我还没有。
这是我的投票控制器代码。
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方法的正确方式吗?
【问题讨论】:
标签: ruby-on-rails methods where vote