シードデータの作成方法 [ 自分用メモ ]
シードデータの作成は、db/seeds.rbファイル内にRubyコマンドを記載する。※ DEVISEのusersテーブルの場合
手順1
db/seeds.rb
100.times do |n|
User.create(
name: "Hoge Fuga#{n}",
email: "hogehoge#{n}@example.com",
password: "hogefuga",
uid: "11111#{n}",
provider: "Facebook",
confirmed_at: "2016-03-22 08:52:03.98286#{n}"
)
end
※uid: "11111#{n}"については、ユニーク(一意)なので、#{n}(←1~100が入る)を入れること
手順2
rake db:seed
・ここで、#{n}を使うことでダブルクォーテーションで囲われた文字列内に、任意のRubyの式を埋め込むことができる。
・usersテーブル(DEVISE)は、emailが重複してはならないように制御がかかっている。そのため、ここでは、"hogehoge#{n}@example.com",で1~100まで数字が自動的につくように式を入れた。
・なお、Devise用に作成したusersテーブルにシードデータを投入する際には、「password」を指定して作成する。元々、Deviseで使うusersテーブルには「encrypted_password」カラムが作成されている。しかし、これは暗号化された状態の文字列を格納するためのもの。その暗号化をする元になるのが、画面上の入力フォームに入力された値「password」となっている。この「password」を使い自動的に暗号化して「encrypted_password」に格納している。
Author And Source
この問題について(シードデータの作成方法 [ 自分用メモ ]), 我々は、より多くの情報をここで見つけました https://qiita.com/dawn_628/items/8aeb2ff454fd93613b81著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .