根据Hartl的独特性:ruby.rb中的Ruby被认为是真的。 然而,当我将其设置为false时,我的测试才会通过。 你能发现错误吗?
REGEX部分是正确的 - 它只是关于这一行: 唯一性:case_sensitive:false
测试:
test "email addresses should be unique" do
duplicate_user = @user.dup
duplicate_user.email = @user.email.upcase
@user.save
assert_not duplicate_user.valid?
end
型号:(ruby.rb)
class User < ActiveRecord::Base
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
end
答案 0 :(得分:1)
尝试在括号中包含class User < ActiveRecord::Base
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
end
,如下所示:
uniqueness
有关data = [
[ 100, 20, 30 ],
[ 20, 10, 20 ],
[ 50, 400, 20 ]
]
here
希望这有帮助。
答案 1 :(得分:0)
问题可能是因为您可能已包含该行 attr_accessor:name,:用户模型中的电子邮件。
如果删除该行,则不应出现任何错误。
希望这会有所帮助