1

「 」というタイトルのフィールドがtrueに設定されているドキュメントがデータベースに少なくとも1つ存在するようにしたい。selectedそれ、どうやったら出来るの?おそらく私はコールバックを使用する必要がありますが、どれが:before (or after) _create, _upsert, _update

また、作成、更新、アップサートなど、実行する操作がすべてtrueに設定されるようにするにはどうすればよいですか?それぞれのコールバックを作成するのは正しくないと思います。

4

1 に答える 1

2

after_saveは、作成と更新後に常に実行されます

だからあなたはすることができます:

after_save do |your_class|
  your_class.update_column(:selected, true) unless YourClass.where(selected: true).exists?
end

注意/update_columnはafter_saveを再度起動しないでください

于 2013-02-18T13:43:45.830 に答える