Czy istnieje sposób śledzenia zmian w modelu na after_commit podczas tworzenia rekordu? Próbowałem używać brudnego modułu i byłem w stanie śledzić zmiany, gdy rekord został zaktualizowany, ale kiedy tworzony jest rekord, zmiany nie są rejestrowane.Śledzenie zmian modelu w after_commit: on =>: tworzenie wywołania zwrotnego
17
A
Odpowiedz
45
Nie można użyć metody szyn changed?
, ponieważ zawsze będzie zwracać fałsz. Aby śledzić zmiany po zatwierdzeniu transakcji, należy użyć metody previous_changes
. Zwróci hash z nazwą atrybutu jako kluczem. Możesz następnie sprawdzić, czy nazwa atrybutu ma wartość mieszania:
after_commit :foo
def foo
if previous_changes[attribute_name]
#do your task
end
end
+4
dzięki! Aby sprawdzić, czy hash zawiera twój atrybut, możesz zrobić coś takiego: jeśli @ item.previous_changes.has_key? ('Attribute_name') –
Powiązane problemy
- 1. Szyny nie uruchamiają mojego wezwania zwrotnego after_commit
- 2. Jak samodzielnie przetestować metodę wywołania zwrotnego modelu?
- 3. Tworzenie aplikacji facebook z adresem wywołania zwrotnego
- 4. Is: on =>: create valid dla wywołania zwrotnego before_save w Railsach 3.2.3
- 5. after_create: foo vs after_commit: bar: na =>: tworzenie
- 6. Śledzenie zmian - Django
- 7. Śledzenie zmian instancji Django Model
- 8. Zastępowanie modelu klejnotem, dodawanie wywołania zwrotnego i metod
- 9. Uzyskiwanie wywołania zwrotnego w Clojure
- 10. AttributeError w funkcji wywołania zwrotnego
- 11. Jaśmin - śledzenie wywołania metody w konstruktorze
- 12. Śledzenie zmian w interaktywnym oknie C#
- 13. Śledzenie zmian w polach za pomocą mongoose.js
- 14. Railsy after_commit?
- 15. Brak wycieku pamięci wywołania zwrotnego w javascript
- 16. Funkcja wywołania zwrotnego ajax timeout
- 17. wiedzieć, co zdarzenie wywołało after_commit danego modelu ActiveRecord
- 18. Wyznaczanie obiektu wywołania zwrotnego w stylu C?
- 19. Jak uniknąć piekła wywołania zwrotnego w Javie?
- 20. Lepsze zrozumienie funkcji wywołania zwrotnego w JavaScript
- 21. Jak przekazywać funkcje wywołania zwrotnego w Swift
- 22. Obserwowalne dla wywołania zwrotnego w Rx
- 23. Wykrywanie zmian w modelu; php yii framework
- 24. Śledzenie zmian na skomplikowanym obiekcie graficznym
- 25. Jak sprawdzić, czy śledzenie zmian jest włączone
- 26. after_commit dla atrybutu
- 27. ustawienie argumentu dla funkcji wywołania zwrotnego Pythona
- 28. Tworzenie systemu zwrotnego przy użyciu zamknięć
- 29. Wywołanie funkcji wywołania zwrotnego po zingChart.render()
- 30. Jak zaimplementować funkcje wywołania zwrotnego wielokrotnego użytku
Jak mogą wystąpić jakiekolwiek zmiany, gdy coś właśnie powstaje? –
Pola od zera do prawidłowej wartości. –