#seedファイルの書き方
db/seed.rb
User.create!(
[
{
name: "ゲストユーザー1",
email: "guest1@example.com"
},
{
name: "ゲストユーザー2",
email: "guest2@example.com"
}
]
)
$ rails db:migrate:reset #データベースをリセット
$ rails db:seed #初期データ挿入
$ rails db:reset
データベースのデータを削除した後
rails db:seed
を実行して初期データの挿入できます。
rails c
で実際にデータがあるか確認します。
$ rails c
Running via Spring preloader in process 17596
Loading development environment (Rails 5.2.4.4)
[1] pry(main)> User.all
User Load (0.5ms) SELECT "users".* FROM "users"
=> [#<User id: 1, email: "guest1@example.com", name: "ゲストユーザー1", created_at: "日付", updated_at: "日付">,
[#<User id: 2, email: "guest2@example.com", name: "ゲストユーザー2", created_at: "日付", updated_at: "日付">
実際にデータ反映されてたら大丈夫です。
##苦労したポイント
初期データで画像を保存しようとしたんですが画像ファイルをそのままデータベース保存すると
画像の容量が大きいためデータベースが容量がいっぱいになり動かなりました。
保存することは可能ですがあまりお勧めしません。
S3など他のサービスを使用して画像を保存する方がいいです。
記述方法
image: File.open("./app/assets/images/test1.jpg", 'r')