2014-11-04 77 views
0

当我尝试保存唯一属性时,如果属性不是唯一的,则会引发错误。有没有办法让它只是返回false而不是提高错误?Ruby Ohm:不会引发唯一索引冲突,只返回false

这是代码,我想要的类型,但如果域名不是唯一的它提出了一个错误,所以它永远不会到达else条款:

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

回答

0

只需使用红宝石救援:

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