C'è un modo per tenere traccia delle modifiche al modello su after_commit quando viene creato un record? Ho provato a utilizzare il modulo dirty e sono stato in grado di tenere traccia delle modifiche quando il record è stato aggiornato, ma quando viene creato un record le modifiche non vengono registrate.Tracciamento delle modifiche del modello in after_commit: on =>: crea callback
17
A
risposta
45
Non è possibile utilizzare il metodo rotaie changed?
, poiché restituirà sempre false. Per tenere traccia delle modifiche dopo il commit della transazione, utilizzare il metodo previous_changes
. Restituirà un hash con nome attributo come chiave. Puoi quindi controllare se il tuo attributo_nome è nell'hash:
after_commit :foo
def foo
if previous_changes[attribute_name]
#do your task
end
end
+4
grazie! E per verificare se l'hash contiene il tuo attributo, potresti fare qualcosa di simile a 'if @ item.previous_changes.has_key? ('Attribute_name')' –
Problemi correlati
- 1. Tracciamento delle modifiche alle istanze del modello Django
- 2. Rilevamento delle modifiche del modello in SQLAlchemy
- 3. Utilizzo di più callback per Rails (: after_commit)?
- 4. after_create: foo vs after_commit: bar,: on =>: creare
- 5. Rails non attiva il mio callback after_commit
- 6. Entitity Framework: tracciamento delle modifiche in SOA con approccio POCO
- 7. È: on =>: crea una valida per un callback before_save in Rails 3.2.3
- 8. Tracciamento delle modifiche nel grafico di oggetti complessi
- 9. convalida personalizzato: on =>: Crea non funziona
- 10. Monitoraggio delle modifiche in Visual Studio
- 11. Strumento giusto per il tracciamento delle modifiche alla struttura del DB
- 12. Tracciamento delle prestazioni ORM
- 13. after_commit per un attributo
- 14. Posso usare un algoritmo diff in chiaro per il tracciamento delle modifiche XML?
- 15. Rollback delle modifiche in Salesforce
- 16. Tracciamento delle chiamate alle proprietà implementate automaticamente
- 17. Rilevamento delle modifiche nel modello; php yii framework
- 18. Rails 3: Come identificare l'azione after_commit negli osservatori? (crea/aggiorna/distruggi)
- 19. Debug delle istanze del modello
- 20. Rails - Annulla destroy on before_destroy callback
- 21. Salvataggio delle modifiche in SlickGrid
- 22. HTML5 <video> callback?
- 23. C'è un modo per rimuovere il meccanismo di tracciamento delle modifiche per una singola entità?
- 24. Aggiornamento del modello da un typeahead-on-select
- 25. Ruby on Rails: come migrare le modifiche apportate ai modelli?
- 26. Tenere traccia delle modifiche - Django
- 27. Rails, usando lo sporco o cambiato? flag with after_commit
- 28. Come organizzare callback complessi in Rails?
- 29. Visualizzazione delle modifiche ai dati del modello Magento prima o dopo l'evento di salvataggio?
- 30. Crea ramo SVN dalle modifiche nel trunk
Come potrebbero esserci dei cambiamenti quando qualcosa viene appena creato? –
I campi che vanno da zero a un valore valido. –