Rails Faker - 如何生成自定义域名电子邮件?

时间:2017-05-18 06:13:00

标签: ruby-on-rails rubygems faker

理想情况下,我想根据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

3 个答案:

答案 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')