我正在尝试运行一个简单的循环来创建多个种子用户:
在seeds.rb中:
5.times do
user = User.new(
email: RandomData.random_space_email,
password: 'teatea',
password_confirmation: 'teatea'
)
user.skip_confirmation!
user.save!
end
RandomData.random_space_email:
def self.random_space_email
"#{@@names.sample}@#{@@space_words.sample}.#{@@space_words.sample}"
end
当我运行rake db:reset
时,我收到此错误:ActiveRecord::RecordInvalid: Validation failed: Email is invalid
但是,如果我将循环设置为仅运行一次(1.times do
),一切都按预期工作。
任何帮助都会很精彩!
答案 0 :(得分:0)
仔细检查后:
def self.random_space_email
"#{@@names.sample}@#{@@space_words.sample}.#{@@space_words.sample}"
end
我发现@@space_words
有时包含带空格的字符串......这似乎导致devise
抛出错误,因为电子邮件地址中不能有空格。