[RAILS] Comment mettre à jour les modèles associés avec accepte_nested_attributes_for

Chose que tu veux faire

En utilisant accepte_nested_attributes_for, nous créons et mettons également à jour des modèles associés en même temps.

Il y a eu un cas où je voulais mettre à jour uniquement le modèle associé au moment de la création.

Comment faire

https://github.com/rails/rails/issues/7256#issuecomment-93172189 Je l'ai mâché pour moi-même et en ai pris note.

Foo (mise à jour existante) -> Bar (créer) -> Baz (mise à jour existante) ・ Foo est mis à jour ・ Créer une barre ・ Baz mis à jour je veux

Dans ce cas, transmettez simplement les paramètres comme suit.

{
  foo: {
    id: "foo_id", =>Passer l'ID pour mettre à jour foo
    ...
    bar_attributes: {
      ...
      baz_id: "baz_id", =>baz pour mettre à jour baz_id et
      baz_attributes: {
        id: "baz_id",  =>Passez l'identifiant.
        ...
      }
    }
}

Recommended Posts

Comment mettre à jour les modèles associés avec accepte_nested_attributes_for
Comment mettre à jour avec activerecord-import
Comment numéroter (nombre) avec html.erb
Comment démarrer avec Slim
Comment entourer n'importe quel caractère avec "~"
Mettre à jour MySQL de 5.7 à 8.0 avec Docker
Comment démarrer Camunda avec Docker
Comment recadrer une image avec libGDX
Comment ajuster TextPosition avec l'extension de clavier iOS
Comment compiler Java avec VsCode & Ant
[Java] Résumez comment comparer avec la méthode equals
[Android] Comment gérer les thèmes sombres
Comment utiliser BootStrap avec Play Framework
[Note] Comment démarrer avec Rspec
Comment faire un contrôle basé sur l'API avec cancancan
Comment réaliser le téléchargement de fichiers avec Feign
Comment définir JAVA_HOME avec l'appassembler-maven-plugin de Maven
Comment implémenter TextInputLayout avec la fonction de validation
Comment gérer les erreurs de connexion avec l'appareil
Comment supprimer des données avec une clé externe
Comment tester l'étendue privée avec JUnit
Comment surveiller nginx avec docker-compose avec datadog
Comment gérer les actifs de précompilation a échoué.
Comment réaliser le téléchargement de fichiers avec Feign
Comment exécuter Blazor (C #) avec Docker
Comment créer un environnement Rails 6 avec Docker
Comment télécharger Oracle JDK 8 rpm avec curl
[Java] Comment tester s'il est nul dans JUnit
Comment se moquer de chaque cas avec Mockito 1x
Comment se moquer de chaque cas avec PowerMock + Mockito1x
Comment tester les interruptions pendant Thread.sleep avec JUnit
Comment utiliser h2db intégré avec Spring Boot
Comment créer plusieurs menus déroulants avec ActiveHash
Comment mettre à jour un fichier prédéfini dans un conteneur Docker
Comment démarrer avec Eclipse Micro Profile
Comment créer une condition de recherche impliquant plusieurs modèles
Comment donner votre image à quelqu'un avec Docker
Comment tout insérer en même temps avec MyBatis
Comment écrire du code de test avec la certification de base
Comment créer une API avec GraphQL et Rails
Comment utiliser le protocole NFS version 2 avec Ubuntu 18.04
Comment sortir un fichier de ressources avec spring-boot
Comment créer des variables membres avec le modèle JPA
Comment vérifier les éléments variables avec RequestBodyMatching de WireMock
[Rails] Comment créer un environnement avec Docker
Comment éviter les exceptions avec la méthode Equals de Java
Comment rediriger après la connexion de l'utilisateur avec Spring-security
[Rails] Comment rechercher dans les colonnes de modèles associés (parents et enfants) dans Ransack
[Docker] Comment mettre à jour à l'aide d'un conteneur dans Heroku et comment gérer l'erreur de migration
Comment intégrer des variables JavaScript dans HTML avec Thymeleaf
Comment implémenter UICollectionView avec du code uniquement dans Swift