2017-11-29 25 views
0

背景 - 私は、レールバージョン5.1.2で作業しています。私はCloud 9 IDEを使用しています。私の問題は、Michael HartlのCh 11 Railsチュートリアルに関連しています。 問題の詳細 - タイピング$レール試験:メーラー:NameError:未初期化定数User :: VALID_EMAIL_REGEX


エラー: UserMailerTest#1 test_account_activation: NameError:初期化されていない一定のユーザー:: VALID_EMAIL_REGEX アプリ/モデル/ user.rb:6:<class:User>' app/models/user.rb:1:inの「

ビン/レール試験試験/メーラー/ user_mailer_test.rb:5


APP /モデル/ user.rb:1 - アプリ/モデル/ user.rb:6:

class User < ApplicationRecord 
    attr_accessor :remember_token, :activation_token 
    before_save :downcase_email 
    before_create :create_activation_digest 
    validates :email, presence: true, length: { maximum: 255 }, 
          format: { with: VALID_EMAIL_REGEX }, 
          uniqueness: { case_sensitive: false } 
    has_secure_password 
    validates :password, presence: true, length: { minimum: 6 }, allow_nil: true 
+0

で正規表現が欠けているように見えますか? VALID_EMAIL_REGEX –

+0

ありがとうございます。下記のガイダンスに従って解決策が見つかりました。 app/model/user.rbを次のように修正しました: VALID_EMAIL_REGEX =/¥A[\w+\-.][email protected][az\d\-.]+\.[az]+\z/i validates:email 、存在:true、長さ:{maximum:255}、 形式:{with:VALID_EMAIL_REGEX}、 。 – Jim

答えて

0

あなたはUserモデル

あなたが定義している
class User < ApplicationsRecord 
    VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 
... 

end 
+1

最近、あなたは本当にもっと寛大な方が必要です。 'VALID_EMAIL_REGEX =/\ A [^ @] + @ [^ @] +/z'は私たちが得ることのできる最も近いものです。 [電子メールアドレス](https://en.wikipedia.org/wiki/Email_address)には、ASCII以外の文字やスペースを含むあらゆる種類のクレイジーなものが含まれています。 – tadman

関連する問題