2014-11-04 33 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