Внутри вашей модели вы можете спросить / узнать, является ли обрабатываемая вами запись новой, или нет
p = Post.new
p.new_record? => true
p = Post.first
p.new_record? => false
Может, тебе это достаточно поможет?
В противном случае внутри модели вы можете добавить обратных вызовов , например, before_create
, который вызывается только перед сохранением новой записи. Чтобы ваша модель была стройной, и у вас должно быть много обратных вызовов, их можно сгруппировать в наблюдателе .
Надеюсь, это поможет.