ある record を save したときに、 create のときだけ次に何かを処理したい(しかも、コールバック以外で)ということがありました。
とりあえず思いついた方法は
> record.id_previously_changed?
=> true
Rails のコードを読むと
def create_or_update(*args, &block)
_raise_readonly_record_error if readonly?
return false if destroyed?
result = new_record? ? _create_record(&block) : _update_record(*args, &block)
result != false
end
ということなので、 create / update を分離しているだけで、それぞれの中を読んでも、特に区別するためのデータはなさそう。