2013-03-07 22 views
16

Raylarım uygulamasında bir e-posta doğrulayıcı eklemeyi deniyorum. i istiyorsanızRaylar 3, Bilinmeyen doğrulayıcı: 'EmailValidator'

class User < ActiveRecord::Base 
    attr_accessible :email, :password,:name 
    validates :email, :presence => true, :uniqueness => true, :email => true 
end 

:

config.autoload_paths << "#{config.root}/lib/validators"

Ve işte benim Kullanıcı modelidir: Ben bu satırı eklendi application.rb aşağıdaki dosyayı /lib/validators/email_validator.rb

class EmailValidator < ActiveModel::EachValidator 
    def validate_each(object, attribute, value) 
    unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i 
     object.errors[attribute] << (options[:message] || "is not formatted properly") 
    end 
    end 
end 

yarattı sunucuyu başlat Bir hata buldum:

Unknown validator: 'EmailValidator' (ArgumentError) 

Bu sorunu nasıl giderebileceğimi bilen var mı?

cevap

-2

modifiye Kullanıcı modelini deneyin;

Bu hata occures
class User < ActiveRecord::Base 

    attr_accessible :email, :password,:name 

    validates :email, :presence => true, :uniqueness => true 

end 
+0

Bu sorun çözüm – edikgat

4

,

require_dependency 'validators/email_validator.rb' 
+0

değil modeliniz dosyasının başlangıcında elle doğrulama dosyasını gerektirecek şekilde doğrulama dosyası önce

deneyin yükler model dosyası nedeniyle bu derste raylar Bu benim için çalıştı ... – Daryn