Büyük ondalık türden değer adlı bir özniteliğe sahip bir nesnem var. Sınıf tanımında validates_numericality_of var.onaylatan önce öznitelik ayarlayıcılar yazabilir
i Ancak eğer:
a.value = 'fire'
'ateş' biter böylece doğrulama yangınları önce doğru türe typecasting alma:
a.valid? => true
Nasıl typecast önce yangın doğrulama alabilirim?
Teşekkür ActiveRecord::Base docs itibaren
Dan
Fyi, eğer görüşlerinde garip doğrulama mesajları almadan bunu yapmak istiyorsanız. Örneğin. "," type "yazmadan önce," # {attribute} _before_type_cast "yerine" özel bir validator "(http://guides.rubyonrails.org/active_record_validations_callbacks.html#custom-validators) oluşturabilirsiniz. sadece özniteliği kontrol etmek. –
Ajedi32
@ Ajedi32 Ya da: geçerlilik için mesaj seçeneği? – sheerun
@sheerun Hayır, ileti seçeneği, doğrulama hatası ile ilişkilendirilen özniteliği değiştirmediğinden çalışmaz. (Örn. " yazımında, yazı tipi bir sayı olmalıdır" ifadesinde, bu seçeneği yalnızca iletinin "bir sayı olmalıdır" kısmını değiştirmek için kullanabilirsiniz.) –
Ajedi32