Rails 3:处理 ActiveRecord::RecordNotUnique 异常 [英] Rails 3: Handle ActiveRecord::RecordNotUnique Exception

查看:30
本文介绍了Rails 3:处理 ActiveRecord::RecordNotUnique 异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何处理控制器中的 ActiveRecord::RecordNotUnique 异常?谢谢

How can I handle ActiveRecord::RecordNotUnique exception in the controller? Thanks

编辑:生成唯一代码时出现该异常.我可以处理 application_controller.rb 中的异常,但我真正想要的是再次生成代码,并且必须在控制器中完成.

Edit: I'm getting that exception when generating an unique code. I can handle the exception in the application_controller.rb but what I really want is to code to be generated again and that must be done in the controller.

generate_code
@couponcode = Couponcode.new(:user_id => current_user.id, :code => @code)

Edit2:

generate_code

begin
  @couponcode = Couponcode.new(:user_id => current_user.id, :code => @code)
rescue ActiveRecord::RecordNotUnique
  #generate_code
  @code = "111-11111" 
  @couponcode = Couponcode.new(:user_id => current_user.id, :code => @code)           
end

推荐答案

begin
  # do stuff
rescue ActiveRecord::RecordNotUnique
  # handle the exception however you want to
end

http://ruby-doc.org/docs/ProgrammingRuby/html/tut_exceptions.html

您也可以使用 rescue_from如果这是您需要经常处理的事情.

You could also use rescue_from if it's something you need to deal with often.

这篇关于Rails 3:处理 ActiveRecord::RecordNotUnique 异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆