J'essaie de comprendre quand utiliser le bang! versions pour enregistrer et mettre à jour les enregistrements? J'ai lu et entendu que vous n'en avez pas besoin si vous enregistrez simplement un enregistrement ou mettez à jour un seul attribut, si vous êtes sûr que rien ne devrait aller mal, ou si vous les utilisez toujours en dehors d'un contrôleur. Je suppose que je suis paranoïaque à propos de la sauvegarde de plusieurs choses, puis que quelque chose échoue, il y a des données incomplètes dans la base de données. Le projet Rails actuel sur lequel je travaille est terminé à plus de 50% et ne contient actuellement aucune bang. J'ai des méthodes personnalisées que j'appelle dans les modèles qui mettent à jour ou créent plusieurs enregistrements et m'inquiètent s'ils devraient être dans une sorte de transaction.Quand est-ce que j'utilise save !, create! et update_attributes! dans Rails?
Désolé si cela semble dispersé mais j'essaie juste de comprendre comment utiliser les capacités d'enregistrement dans ActiveRecord correctement et de rendre ma vie plus facile et un peu plus sans stress à la fin. Merci pour votre temps.
Idéal pour pointer la différence clé entre les deux, contrairement à la réponse sélectionnée. – ifightcrime
Merci de souligner l'utilisation des transactions, ils semblent souvent négligés. – ki4jnq
+1. Il peut également être intéressant de noter que les méthodes non-bang échouent silencieusement dans les transactions, donc utilisez toujours 'save!', 'Update_attributes! ', Etc. lorsque votre code est encapsulé dans une transaction. –