Ruby on rails RSpec未重新加载或未保存对象
我面临着rspec的问题 这是我的测试代码:Ruby on rails RSpec未重新加载或未保存对象,ruby-on-rails,rspec,Ruby On Rails,Rspec,我面临着rspec的问题 这是我的测试代码: describe "email address with mixed case" do let(:mixed_case_email) { "Foo@ExAMPle.CoM" } it "should be saved as all lower-case" do @user2 = FactoryGirl.create(:user, email: 'aaaa@aaa.com') @user2.email = mixed_cas
describe "email address with mixed case" do
let(:mixed_case_email) { "Foo@ExAMPle.CoM" }
it "should be saved as all lower-case" do
@user2 = FactoryGirl.create(:user, email: 'aaaa@aaa.com')
@user2.email = mixed_case_email
p @user2.email
p @user2.save!
p @user2.email
p @user2.reload.email
expect(@user2.reload.email).to eq mixed_case_email.downcase
end
end
我的终端输出:
"Foo@ExAMPle.CoM"
true
"aaaa@aaa.com"
"aaaa@aaa.com"
我的用户模型:
#encoding: UTF-8
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:validatable, :confirmable, :lockable,
:timeoutable, :omniauthable
before_validation { self.email.downcase! if self.email }
validates :email, presence: true, length: {:maximum => 60}
end
看起来“重新加载”或“保存”不起作用。不知道我能做什么。在其他项目中进行相同的测试,但没有设计。这可能是这个问题的原因吗?这是设计:
Desive不允许您在未经确认的情况下更改电子邮件。当您设置另一封电子邮件时,设备会将其保存在未确认的电子邮件中,生成确认令牌并发送电子邮件进行确认。因此,您与gem design功能存在冲突
不确定,但我想你可以检查未确认的电子邮件是否在保存后被关闭,这正是我要做的。非常感谢。