Une alternative au callback after_initialize d'ActiveRecord

Je jouais avec des formulaires imbriqués dynamiques avec Stimulus aujourd’hui et je suis tombé sur un vide laissé par les callbacks ActiveRecord de Rails.
J’ai ce modèle Caregiver dans un formulaire imbriqué et je dois le créer avec une entité User dans mon formulaire, pour pouvoir remplir les champs. Le problème est que créer un callback after_initialize (même avec :new_record?) va casser le comportement général de mon application, et je ne veux pas parcourir toutes les specs et corriger les problèmes de FactoryBot, etc.
J’ai donc simplement décidé de créer une petite méthode dans mon modèle Caregiver :
# ceragiver.rb
def init_with_user
self.build_user
self
end
Ensuite, je dois juste l’appeler dans ma vue comme ceci :
<%= f.fields_for :caregivers, caregiver.new.init_with_user, child_index: 'TEMPLATE_RECORD' do |cf| %>
<%= render 'caregiver_fields', cf: cf %>
<% end %>
Cela rend le code dans ma vue plus simple, plus explicite, tout en évitant le redoutable enfer des callbacks.
MoskitoHero