理想情况下,我想根据Faker生成的电子邮件创建一个假电子邮件,但我希望实现类似:faker_first_name@mydomain.com
。文档显示您可以为第一部分而不是实际域执行此操作。有没有办法实现这个目标?
20.times do
u = User.new(first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name,
email: Faker::Name.first_name"@THISPART.com",
)
u.save
end
答案 0 :(得分:3)
我认为你错过了字符串concat:+
:006 > Faker::Name.first_name+"@THISPART.com"
=> "Irving@THISPART.com"
如果你想保留相同的名字,请在之前保存:
fn = Faker::Name.first_name
sn = Faker::Name.last_name
u = User.create(
:forename => fn,
:surname => sn,
:email => "#{fn}.#{sn}@yourdomain.net",
Faker::Name.first_name
将始终生成新的随机值。
答案 1 :(得分:2)
没有这样的规定可以将domain name
传递给方法
但是,您可以使用Faker::Internet.user_name
User.new(
first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name,
email: "#{Faker::Internet.user_name}@customdomain.com"
)
答案 2 :(得分:0)
最近版本的 Faker 内置了对自定义电子邮件子域的支持。
Faker::Internet.email(domain: 'customdomain.com')