見出し画像

devise を導入⑤

開発環境で画面からデータを作成するのは大変なので、seed を使ってデータを作成する。
以下のコードを seed.rb に追加する。

user_attributes = (1..50).map do |n|
  {
    first_name: "test#{n}",
    last_name: "test#{n}",
    email: "test#{n}@example.com",
    password: 'password',
    password_confirmation: 'password'
  }
end

user_attributes.each do |user_attribute|
  User.find_or_create_by(email: user_attribute[:email]) do |user|
    user.first_name = user_attribute[:first_name]
    user.last_name = user_attribute[:last_name]
    user.password = user_attribute[:password]
    user.password_confirmation = user_attribute[:password_confirmation]
  end
end

上記のコードでは50件のデータを作成できる。
以下のコードの 50 という部分を変更すると作成するデータの件数を調整できる。

(1..50).map do |n|

rails db:seed というコマンドを実行し、データを作成する。
作成できたかどうかは rails c で確認する。以下のコマンドを実行する。

rails c
User.count

上記のコードを実行し、指定した件数以上のデータが作成されていれば成功。
find_or_create_by メソッドを使用しているため、何度 rails db:seed を実行しても同じ結果となる。

この記事が気に入ったらサポートをしてみませんか?