初投稿です!宜しくお願いします。
やりたいこと
ActiveStorageを使って投稿機能を実装している状態でseedデータを準備したい。
ファイルの添付を必須にするバリデーションをかけている場合のデータを作成したい。
seedデータの用意
以下のやり方場合は、
ActiveRecord::RecordInvalid: バリデーションに失敗しました: 写真を追加してください
となってしまった。
失敗例
db/seeds.rb
10.times do |n|
post = Post.create!(
user_id: "1",
content: "投稿します!",
)
post.images.attach(
io: File.open(Rails.root.join("./app/assets/images/post/test.jpeg")),
filename: "test.jpeg"
)
end
成功例
db/seeds.rb
10.times do |n|
post = Post.new(
user_id: "1",
content: "投稿します!",
)
post.images.attach(
io: File.open(Rails.root.join("./app/assets/images/post/test.jpeg")),
filename: "test.jpeg"
)
post.save!
end
Post.create!ではバリデーションエラーに引っかかってしまいました。
Post.newからのpost.save!とすることで成功しました!!