Temel olarak yapmak istediğim, MyModelLog tablosunda MyModel'de bir işlem yapmak.Başarısız ActiveRecord doğrulamalarından sonra veritabanına bir şeyler nasıl kaydedilir?
class MyModel < ActiveRecord::Base
validate :something
def something
# test
errors.add(:data, "bug!!")
end
end
Ben de bir modeli bu gibi bakarak var: İşte bazı sözde kod
class MyModelLog < ActiveRecord::Base
def self.log_something
self.create(:log => "something happened")
end
end
denedim oturum açabilmek için:
arasında
something
yöntemindeMyModelLog.log_something
EkleMyModel
numaralı telefonu arayın. o doğrulama işleminde çünkü doğrulama başarısız olduğunda
MyModel
ait after_validation
Geri aramadaHer iki durumda da yaratılması döndürülüyor. Tabii ki, doğrulamalar başarısız olduğunda da kayıt olmak istiyorum. Aslında bir dosyaya veya veritabanından başka bir yere giriş yapmak istemiyorum çünkü diğer modellerle günlük girişlerinin ilişkilerine ve istekleri gerçekleştirebilme yeteneğine ihtiyacım var.
Seçeneklerim nelerdir?
Benzer türde soru: http://stackoverflow.com/questions/3685912/how-do-i-exclude-a-model-from-a-transaction-in-activerecord/3686035#3686035 – Shadwell