2017-07-29 14 views
0

私は正規表現の電子メールの検証の例を第6章の「Michael Hartlのレッスンチュートリアル」に掲​​載しようとしていますが、何らかの理由で「電子メールの検証で有効なアドレスを受け入れる必要があります。有効な電子メールアドレス。 Rubularを使って正規表現を試してみました。誰かがなぜ私のレールのコードで失敗しているのか分かっているなら、それを理解する助けに感謝します。ありがとう。正規表現と検証を Ruby on Rails - 正規表現の電子メールの検証が機能しない

test "email validation should accept valid addresses" do 
    valid_addresses = %w[[email protected] [email protected] [email protected]] 
    valid_addresses.each do |valid_address| 
     @user.email = valid_addresses 
     assert @user.valid?, "#{valid_address.inspect} should be valid" 
    end 
end 

ユーザークラスを失敗し

テストは現在、あなたはすべての有効な電子メールの配列だけではなく、現在の電子メールにユーザーの電子メールを設定している

class User < ActiveRecord::Base 

    has_many :posts, dependent: :destroy 
    has_many :text_posts, dependent: :destroy 
    has_many :image_posts, dependent: :destroy 

    validates :name, presence: true, length: {maximum: 50} 

    VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 

    validates :email, presence: true, length: {maximum: 255}, format: {with: VALID_EMAIL_REGEX} 

end 
+0

あなた自身はそれほど簡単ですが、もっと面倒なことはありません。https://github.com/balexand/email_validator –

答えて

1

を定義し:

@user.email = valid_addresses 

はする必要があります

@user.email = valid_address 
+0

それでした。ありがとう。 – user3064141

関連する問題