質問: Ruby on Railsで開発しています。 DB(mysql)にテストデータを入れるためにFaker gemを使っています。 を参照してほとんどのデータを入れることができましたが、これだけではできないところがあります。 1. Boolean型の場合、True/Falseが必要ですが、上記のところでは見つけられませんでした。 (0 または 1でも大丈夫でしょうかね..) 2. 「時間:分:秒」だけ必要ですが、「2014-09-19 07:03:30 -0700」のような形式しかありませんね.. 3. 例えばAとBという値があり、ランダムでどっちかの値を入れたいんです。他の値は要りません。 この場合、どうすればできますか?別にFakerは必要なさそうに思われますが.. 上記の問題を解決できる方法を教えてください!
回答: テストデータを作るとすれば、こんな感じでしょうか。 (Kimさんがどんなコードを書いているのかわからないので、こちらの想像で書いています。) ``` schedule = Schedule.new # 1. true/falseの設定はFakerを使わない schedule.repeat = true # false でも可 # 2. ランダムな日時から時分秒だけを文字列化(例:"07:31:51") schedule.scheduled_time = Faker::Time.between(DateTime.now - 1, DateTime.now).strftime("%H:%M:%S") # 3. large または small をランダムにセット schedule.room = %w(large small).sample schedule.save! ``` 質問のようなケースだと無理にFakerを使わなくてもいいのでは?という気がしますね。