LoginSignup
1
0

More than 3 years have passed since last update.

初期データをseeds.rbに記述して、ゲストログイン機能のエラーを解決してみた

Posted at

はじめに

 ゲストログイン機能を実装したが、ユーザー登録以前に、2つの情報を登録し、ユーザーと紐づけていたので、それを解決するために、試行錯誤した結果、初期データの作成にたどり着いた。

seeds.rbとは

 Rails6.0では、(もう少し前からだとは思うが、)デフォルトで入っているファイル。dbディレクトリの配下にある。最初から、コメントアウトで色々記述されているが、説明なので、消してしまって構わない。

記述方法

 seeds.rbには、初期データとして作成しておきたい(テスト用などの目的)データを直接作る。

seeds.rb
User.create!(name: 'ゲスト', email: 'gest@sample.com')

モデル名.create!(カラム名: 値)が基本形。
create!の部分は他にも、いくつか使えるメソッドがある。(次回、紹介予定)
上記のように、書けば、いくつでも初期データを作成できる。モデル名の部分を他に変えれば、別のテーブルにも作成可能。

カラム名にidを用いることもできるので、いつもは自動で振り当てられるidについても、任意で作成可能。

ちなみに、eachメソッドやtimesメソッドを使って、繰り返し処理によって、大量の初期データを作成することも可能。

初期データ生成方法

ターミナルで、

rails db:seed

を実行。特にエラーが無ければ、特に反応なく、次の行にいき、待機状態となる。(success!みたいに、表示してくれれば安心なのに…)。テーブルで実際に保存されているか、確認するとよい。

最後に

 これで本番環境でも、生成のコマンドさえ実行すれば、無事に、ゲストログインもできるはず!

1
0
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
1
0