Ruby Ohm:不要引发唯一的索引违规,只返回false

时间:2014-11-04 15:48:53

标签: ruby-on-rails ruby ohm

当我尝试保存唯一属性时,如果属性不唯一,则会引发错误。有没有办法让它只是返回false而不是引发错误?

这是我想要的代码类型,但如果域不是唯一的,则会引发错误,因此它永远不会到达else子句:

domain = Domain.new(:domain => root_domain)
if domain.save
    return domain
else
    return Domain.with(:domain => root_domain)
end

1 个答案:

答案 0 :(得分:0)

只需使用红宝石救援:

begin
  domain.save
  domain
rescue Ohm::UniqueIndexViolation
  return false
end