为了账号安全,请及时绑定邮箱和手机立即绑定

有一串的ajax操作,其中几个可能会出错,请问怎么样才能优雅的处理

有一串的ajax操作,其中几个可能会出错,请问怎么样才能优雅的处理

婷婷同学_ 2019-04-08 11:19:23
问题描述现在在一个rails项目中我是想在页面中选中一系列的条目,然后利用ajax向后端传递这一系列条目的id,然后在数据库中更新这些条目中的一些字段内容下面是我现在的实现代码@qids=params[:qids]@qids.eachdo|id|question=Question.find_by(:id=>id,:boxname=>"un-matched".to_s)ifquestion.nil?ifQuestion.find_by(:id=>id).update(:boxname=>"un-matched".to_s)elserender:json=>{:status=>"error",:msg=>"databaseerrorcannotmovequestiontotargetbucket"}endelserender:json=>{:status=>"error",:msg=>"questionalreadyexistsinthisbucket"}endendrender:json=>{:status=>"ok"}我现在的话就是在这一系列的更新操作中,假如有一次更新操作出错失败了,就直接返回error给前台了,之后的更新操作也不执行,想问下,如果我想即使有一些出错了,后面的更新操作也还照样执行,但是最后也能返回给前端页面是那几个id对应的条目的更新操作出错失败了,请问各位大大有优雅的解决方案吗?
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

给render做个ajax封装
-response.error(msg)
-response.success()
-response.warn()
省去json对象,调用returnresponse.error(msg)
这样做可以拆开部分ifelse嵌套,对ruby语法不熟悉,仅想法,你意下如何?
                            
查看完整回答
反对 回复 2019-04-08
?
FFIVE

TA贡献1797条经验 获得超6个赞

可以用一个array记录每个qid的更新结果,比如res=[{:qid=>1,:status=>"success"},{:qid=>2,:status=>"success"},{:qid=>3,:status=>"fail"},{:qid=>4,:status=>"success"}],把这个res以json的格式render回前台,这样前台就知道每个qid是否更新成功了
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 458 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号