我正在使用Rails构建一个问答应用程序,其中包含许多复杂的验证(例如,用户不能对自己的问题进行投票,或者重复对同一问题进行投票等)。我一直在使用Ajax+JQuery来更新页面上的内容,如果请求成功,则会更新内容,但如果存在问题,则希望能够显示有用的错误消息。虽然我没有问题进行客户端验证,例如检查字段是否为空,但是对于像投票自己的问题这样的情况,我所能做的最好的办法就是防止在Votes控制器中执行任何JavaScript,以便不会更新投票计数器。就像这样:
if @vote.save
respond_to do |format|
format.html {redirect_to :back}
format.js
end
else
respond_to do |format|
flash[:error] = "Sorry, there was an error."
format.html {redirect_to :back}
end
结束
如果我尝试为自己的问题投票,StackOverflow会给我一个错误消息,所以我知道这是可以做到的!
谢谢
<%
即可。 - Trip