在我的seed.rb
puts 'DEFAULT Categories'
categories = Category.create([{name:'cat1'},{name:'cat2'}, {name: 'cat3'} ])
if categories.save
puts "categories saved"
else
puts "categories save failed"
end
我用它来设置默认类别
但问题是我不能if categories.save
看看是否所有类别项都被保存,因此seed.rb被传递
那么,我如何才能看到数组是否被保存? (所有元素)
感谢
答案 0 :(得分:0)
使用create!
代替create
。如果它无法保存,它会引发异常。
答案 1 :(得分:0)
if categories.all?(&:save)
puts "categories saved"
else
[...]
end
答案 2 :(得分:0)
.create
正在创建记录。所以,当你到达if语句时没有发生任何事情,因为在创建期间已经发生了保存。
将您的.create
更改为.new
,然后您就可以检查保存是否成功:
puts 'DEFAULT Categories'
categories = Category.new([{name:'cat1'},{name:'cat2'}, {name: 'cat3'} ])
if categories.save
puts "categories saved"
else
puts "categories save failed"
end
答案 3 :(得分:0)
if categories.all.each(&:persisted?)
puts "categories saved"
else
[...]
end