fakeを使用して私のデータベースに偽のユーザーを設定し、ユーザー名が一意であり、複数回登録することができないようにする検証規則があります。ruby on railsでfaker gemがユーザ名一意性検証に失敗するのを防ぐには?
rake db:populateを実行すると、1000に達することはありません。そこに到達する前にいつか停止します。なぜなら、私はcreateを使用しているからです!それは私が見てみたいことを私に示しています:Usernnameは既に登録されています。
私の質問には、ユーザー名に数字を追加する方法があります。数値が増えるたびに戻ってきます。そうすれば、ユーザー名は決して同じではありません。
john1 pete2 sally3 smith4 luke5 john6 sally7
等...
か確認してください何のユーザ名が複数回まで来ないようにする他のいくつかの方法がありますか?
namespace :db do
namespace :development do
desc "Create user records in the development database."
task :populate => :environment do
require 'faker'
1000.times do
User.create!(
:username => Faker::Internet.user_name,
:email => Faker::Internet.email,
:password => "greatpasswordhuh"
)
end
end
end
end
種類は、あなたがあなたのループにインデックスを追加することができ
"n"の値は数値です。なぜなら、 "100x"はRubyの数値を評価するからです。 \ @transactions = Transaction.allがあり、次に\ @transaction do | t |があった場合、ブロックの 't'値はTransactionオブジェクトになります。 – JosephK