【问题标题】:Rails Faker - How to generate a custom domain email?Rails Faker - 如何生成自定义域电子邮件?
【发布时间】:2017-10-17 19:17:27
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails rubygems faker


    【解决方案1】:

    2019 年 12 月更新:

    Faker 版本 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"
    )
    

    【讨论】:

      【解决方案2】:

      我想你只是错过了字符串 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 总是会生成一个新的随机值。

      【讨论】:

        【解决方案3】:

        最新版本的 Faker 内置了对自定义电子邮件子域的支持。

        Faker::Internet.email(domain: 'customdomain.com')
        

        【讨论】:

          猜你喜欢
          • 2017-08-27
          • 1970-01-01
          • 1970-01-01
          • 2013-09-11
          • 1970-01-01
          • 2021-11-06
          • 2013-06-04
          • 2011-06-07
          • 2022-12-07
          相关资源
          最近更新 更多