Rails projemde benzersiz diziyle benzersizliği zorlamaya çalışıyorum. Ve kafa karıştırıcı bir şey buldum.Rails'te ActiveRecord :: RecordNotUnique'in nasıl işleneceği
sitemde bir kullanıcının kaydedilmesi gibi, hem benzersiz olması gerekir, bir e-posta adresi ve bir takma ad sağlamanız gerekir. Hem e-postaya hem de takma adlara benzersiz bir dizin ekliyorum. Ve yinelemeler geldiğinde, ben istisna ActiveRecord::RecordNotUnique
istisnayı kurtarıyorum, şimdi burada soru, hangi alanın istisna neden olduğunu biliyordum?
Yardımlarınız için çok teşekkürler.
teşekkürler @spickerman. Evet, teklik için doğrulayıcılarım var. Ama hala birden fazla sunucu üzerinde birden fazla tek boynuzlu işçiye sahip olduğumdan ve aynı zamanda uğraşmamız gereken eşzamanlılık durumları var. Veri tutarlılığını sağlamak için hala benzersiz bir dizine ihtiyacımız var. Aslında istediğim şey bu, benzersiz alan tarafından korunan iki alan varsa, hangisinin tetiklendiğini nasıl bilebilirim. – larryzhao
Anladım. Bu durumda sadece ActiveRecord :: RecordNotUnique'den kurtarın ve tekrar kayıtta “geçerli” yi arayın. Bu, aradığınız bilgi ile kayıttaki 'hataları 'doldurur. – spickermann
Tamam, teşekkürler. Evet, şimdi geçerli olanı kullanıyorum? Bu soruyu sadece daha iyi bir şey olup olmadığını görmek için gönderiyordum, çünkü 'geçerli?' Her şeyi tekrar çalıştırır. – larryzhao