Je télécharge une image et un observateur est déclenché lorsqu'un nouvel enregistrement est créé. En observateur, je pousse l'image via l'API vers un autre service. Le problème est de le faire localement ou dans le test rspec, semble que l'enregistrement est enregistré dans la base de données avant que l'image est enregistrée sur le disque et que je reçois une erreur de fichier introuvable. Comment faire pour garder l'ordre correct?, l'enregistrement est enregistré avant un fichier enregistré sur le disque
Répondre
Je ne connais pas les internes de votre observateur et votre code. Une solution possible serait de changer l'observateur à déclencher sur l'événement after_create
.
Les observateurs sont déclenchés avant les rappels définis dans le modèle. Par conséquent, la méthode after_create
de votre observateur est invoquée avant l'exécution de la méthode after_save
de paperclip qui traite la pièce jointe.
Pensez à utiliser after_commit
ou ar_after_transaction
au lieu de after_save
etc. Lors de la communication avec une API externe est ce que vous voulez de toute façon, car sinon les appels API ne peuvent être annulées si la transaction est annulée.
eu ce problème; after_commit a travaillé pour moi. –
Avoir le même problème, mais selon: https://github.com/rails/rails-observers > Cela signifie que les rappels dans un observateur seront toujours appelés après les callbacks définis dans le modèle lui-même. –
- 1. Trouver un fichier enregistré sur le simulateur?
- 2. Comment réanimer un ggplot enregistré sur disque dans une liste?
- 3. VB.NET: Vérifiez si le fichier est enregistré?
- 4. Découvrez le chemin sur lequel le fichier est enregistré
- 5. le téléchargement de fichiers de traitement avant l'objet est enregistré
- 6. Ouvrir un fichier texte non enregistré
- 7. Le fichier enregistré dans Android est supprimé après un redémarrage
- 8. Vérifiez si un utilisateur est enregistré sur skype ou non
- 9. Où mon fichier Excel sur Android est-il enregistré?
- 10. Où rsyslog redirigé est enregistré?
- 11. Fichier myfile.csv enregistré sous le nom myfile.csv.txt
- 12. le fichier est enregistré avec zéro octet (0 octet)
- 13. Fichier non enregistré dans Android
- 14. Nécessité de créer un NSMutableArray pouvant être enregistré sur le disque
- 15. test Si un PC est enregistré dans sur un réseau
- 16. Rafraîchissant .js lorsque le fichier d'enregistrement est enregistré
- 17. HttpPostedFile.SaveAs() throws UnauthorizedAccessException même si le fichier est enregistré?
- 18. Le modèle FlatPage est déjà enregistré
- 19. . Image .Save, quel format est le fichier enregistré?
- 20. De file_put_contents au fichier enregistré sur le serveur
- 21. Enregistrer le fichier enregistré sur l'ipod Chemin de la bibliothèque
- 22. Envoyer un fichier HAR enregistré sur Chrome via Java
- 23. Pour afficher un fichier dans le navigateur d'un utilisateur, doit-il d'abord être enregistré sur le disque? PHP
- 24. Non enregistré SecurityContextSecurityToken sur WCF
- 25. Filtrage vidéo enregistré sur iOS
- 26. Erreur GCM Android. Le serveur renvoie Non enregistré lorsque le client est enregistré
- 27. Rails - attribut est pas enregistré
- 28. erreur: id est déjà enregistré
- 29. Impossible de lire un son enregistré sur l'appareil
- 30. Comment créer un fichier enregistré sans écraser un fichier existant?
mais il est après créer à l'instant – Artur79