Rails Faker - 如何生成自定义域名邮箱?
Rails Faker - How to generate a custom domain email?
理想情况下,我想根据 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
2019 年 12 月更新:
Faker version v2.8.0 引入域支持 - Release v2.8.0
现在,可以在创建电子邮件地址时传递域。
以下是可能的选项:
Faker::Internet.email #=> "eliza@mann.net"
Faker::Internet.email(name: 'Nancy') #=> "nancy@terry.biz"
Faker::Internet.email(name: 'Janelle Santiago', separators: '+') #=> janelle+santiago@becker.com"
Faker::Internet.email(domain: 'example.com') #=> alice@example.com"
注:以上代码示例来自faker文档
旧答案:
好吧,没有这样的规定将 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"
)
我认为您只是错过了字符串连接:+
: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
将始终生成一个新的随机值。
最新版本的 Faker 内置了对自定义电子邮件子域的支持。
Faker::Internet.email(domain: 'customdomain.com')
理想情况下,我想根据 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
2019 年 12 月更新:
Faker version v2.8.0 引入域支持 - Release v2.8.0
现在,可以在创建电子邮件地址时传递域。
以下是可能的选项:
Faker::Internet.email #=> "eliza@mann.net"
Faker::Internet.email(name: 'Nancy') #=> "nancy@terry.biz"
Faker::Internet.email(name: 'Janelle Santiago', separators: '+') #=> janelle+santiago@becker.com"
Faker::Internet.email(domain: 'example.com') #=> alice@example.com"
注:以上代码示例来自faker文档
旧答案:
好吧,没有这样的规定将 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"
)
我认为您只是错过了字符串连接:+
: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
将始终生成一个新的随机值。
最新版本的 Faker 内置了对自定义电子邮件子域的支持。
Faker::Internet.email(domain: 'customdomain.com')