[RUBY] Les enregistrements existants disparaissent lors de la construction du modèle has_one (rails)

class Parent
    has_one :child
end
class Child
    belongs_to :parent
end

Dans cette situation, utilisez parent.build_child pour construire child à partir du parent existant.

Normalement, je pensais que l'enregistrement DB ne serait pas réécrit simplement en construisant, mais si vous exécutez cette version alors que parent.child existe déjà, l'enfant d'origine sera Notez qu'il sera construit après avoir été SUPPRIMÉ

Postscript

En premier lieu, je ne pense pas que build formera une action à exécuter lorsqu'une association existante existe, mais lorsque la base de données est directement réécrite et que le modèle enfant a déjà été créé, il n'y a pas de destruction. C'est un phénomène que j'ai remarqué que le disque a disparu

Parce que c'était une histoire qui n'a pas été capturée même si je googlé

référence

Recommended Posts

Les enregistrements existants disparaissent lors de la construction du modèle has_one (rails)
[Rails] Evitez le SELECT émis lors de la création d'un modèle avec appartient_to défini!
Notes de personnes qui ont trébuché en essayant de créer un projet Rails
Une collection de méthodes souvent utilisées lors de la manipulation du temps avec TimeWithZone of Rails
[Rails 6.0] À propos de la sauvegarde par lots de plusieurs enregistrements
Rails Bases de la création d'une nouvelle application
Un exemple simple du modèle MVC