13
16

More than 5 years have passed since last update.

Fakerを日本語設定にすると、メールアドレスがうまく生成されない

Last updated at Posted at 2014-10-09

ダミーデータを作るのに便利なFakerはi18nによって日本語化出来ますが、
そうするとメールアドレスがうまく出力できなくなります。(@.biz.@.nameのように出力される)

以下、対応方法
メールアドレス以外で同じ問題が起きた場合も、以下の方法で直るかもしれません


まずは、基本的な日本語設定方法

require 'faker'

Faker::Config.locale = :ja

これだけでは、上記の問題が発生します。

解決法1

i18nはjaに、fakerはenに設定する。

require 'faker'

I18n.locale = :ja
Faker::Config.locale = :en

Faker::Internet.email #=> "willow@armstrongherman.com"
  • 基本的にはこれでOK
  • 複合させたが故の問題が他所で起こらないか心配...

解決法2

メソッドに引数を渡す

require 'faker'

Faker::Config.locale = :ja

Faker::Internet.email("tanaka.yoshida.suzuki.yamaguchi")
  #=> "tanaka_yoshida_suzuki_yamaguchi@.name"
  • .ないし_でつないだ文章がshuffle,joinされて、メール本文になります。
  • ドメインがうまく生成されないので、そこは微妙

他にいい方法があったら教えてほしいです。
ではでは

13
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
16