私は自分のアプリを起動するためにseed.rbを使用しています。
#seeds.rb, create categories and see if they are saved or not
categories = Category.create([{name:'name1'},{name:'name2'}, {name: 'name3'} ])
if categories.all?(&:save)
puts "categories saved"
else
puts "categories saved failed"
end
カテゴリ モデルには次
before_Save :get_external_resources
のようなものがあります。つまり、nokogiri を使用してサイト外の何かを取得できます。
問題は、 を実行するrake db:seed
と、カテゴリが 2 回保存されることです。をオフにしようとしましたがbefore_save
、一度しか保存されません。だから私はそれを推測しall?(&:save)
、before_save
この配列を別々に2回保存しました。
どうすれば余分な節約を避けることができますか? オブジェクトが保存される前に何かをする必要があり、シード時にこれらのオブジェクトが保存されているかどうかを知りたいです。どうafter_create
ですか?メソッドを追加する必要があると思いますがself.save
、検証の問題が発生する可能性がありますか?