背景 - 我正在使用rails版本5.1.2。我正在使用Cloud 9 IDE。我的问题与Michael Hartl的Ch 11 Rails教程有关。 问题详情 - 键入$ rails test:mailers:
错误:
UserMailerTest#test_account_activation:
NameError:未初始化的常量User :: VALID_EMAIL_REGEX
app / models / user.rb:6:.box {
background-color: white;
width: 860px;
margin: 50px auto;
/*background-color: black;*/
text-align: center;
background-color: inherit;
}
body {
background-color: #0caab6;
text-align: center;
margin-top: 50px;
}
'
bin / rails test test / mailers / user_mailer_test.rb:5
app / models / user.rb:1 - app / models / user.rb:6:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<meta charset="utf-8">
<title>CARDS</title>
</head>
<body>
<header>
<h1>PLAY GAME</h1>
</header>
<div class="box">
</div>
<script src="app.js" charset="utf-8"></script>
</body>
</html>
答案 0 :(得分:0)
您的用户模型中似乎缺少正则表达式
class User < ApplicationsRecord
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
...
end
答案 1 :(得分:0)
只需添加到Antarr Byrd's answer。
在使用Rails应用程序时,我也有类似的经历。
问题是我在验证调用的下面定义了REGEX常量。
也就是说,代替这个:
class User < ApplicationRecord
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
end
宁愿这样做:
class User < ApplicationRecord
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX }
end
仅此而已。
我希望这会有所帮助