2013-03-07 7 views
16

मैं अपने रेल ऐप में एक ईमेल-सत्यापनकर्ता जोड़ने की कोशिश करता हूं। मैं निम्न फ़ाइल /lib/validators/email_validator.rbरेल 3, अज्ञात सत्यापनकर्ता: 'ईमेल वैलिडेटर'

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 

बनाया application.rb में मैं इस लाइन कहा:

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

और यहाँ मेरे उपयोगकर्ता मॉडल है:

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

तो मैं चाहता हूँ सर्वर शुरू करें मुझे एक त्रुटि मिली:

Unknown validator: 'EmailValidator' (ArgumentError) 

क्या किसी को पता है कि मैं इस समस्या को कैसे ठीक कर सकता हूं?

उत्तर

-2

संशोधित उपयोगकर्ता मॉडल का प्रयास करें;

class User < ActiveRecord::Base 

    attr_accessible :email, :password,:name 

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

end 
+0

यह समस्या समाधान – edikgat

4

यह त्रुटि occures, क्योंकि अपने मॉडल फ़ाइल के शुरू में मैन्युअल रूप से अपनी मान्यता फ़ाइल की आवश्यकता के लिए

require_dependency 'validators/email_validator.rb' 
+0

नहीं है अपने मान्यता फ़ाइल से पहले रेल लोड मॉडल फ़ाइल

कोशिश यह मेरे लिए काम किया ... – Daryn

संबंधित मुद्दे