Chcę pobrać tylko zmienione atrybuty obiektu. Czy jest dostępna jakaś metoda, która zwraca wszystkie zaktualizowane atrybuty?Czy istnieje jakakolwiek metoda na znalezienie zmienionych atrybutów dla obiektów?
Odpowiedz
Biorąc pod uwagę, że w twoim pytaniu nie ma zbyt wielu szczegółów, zakładam, że odnosisz się do obiektów ActiveRecord. Aby zobaczyć zmienione atrybuty na tak zwanych „brudnych przedmiotów”, można wykonać następujące czynności:
User.changed #=> ["name", "email"]
User.changes #=> { "name" => ["Joe", "Joseph"] }
Istnieją również metody dla każdego atrybutu, jeśli trzeba sprawdzić szczegółowych.
User.name_changed? #=> true
User.name_change #=> ["Joe", "Joseph"]
Więcej szczegółów tutaj: http://ryandaigle.com/articles/2008/3/31/what-s-new-in-edge-rails-dirty-objects
(rdb: 118) self.misc1_id_changed? true (rdb: 118) self.misc1_id_change [5, 5] .. Dlaczego pojawia się jako zmieniony nie ma żadnych zmian w wartościach .. –
Jeśli wartości są takie same, atrybut nie powinien być oznaczony jako ch anged. Jakie modyfikacje wprowadzasz do obiektu przed sprawdzeniem, co się zmieniło? – Sidane
Po aktualizacji przekazuję wartości z mojego formularza. Modyfikuję tylko jeden atrybut. Jednak otrzymuję wszystkie wartości atrybutów zmieniły się prawdziwe. Chcę ustawić warunek przy aktualizacji. Użytkownik może modyfikować tylko niektóre atrybuty. Jeśli użytkownik zaktualizuje inne atrybuty, niż chcę zwrócić błędy. Jednak uzyskanie wszystkich atrybutów jako zmienionych, jeśli atrybuty nie zostaną zmienione. I pokazuje te same wartości. –
Tak ActiveRecord: Brudne, jednak nie widać zmian w obiektach zapisanych do DB, takich jak user.save :(
Można to osiągnąć za pomocą czegoś takiego jak papertrail https://github.com/airblade/paper_trail –
- 1. Czy istnieje jakakolwiek metoda jak ForEach dla IList?
- 2. Oddzwonienie do zmienionych atrybutów ActiveRecord?
- 3. Czy istnieje jakakolwiek funkcja, jak zawiera z Java dla PHP?
- 4. Czy istnieje jakakolwiek implementacja Interceptor w sqlite
- 5. Czy istnieje metoda antyaliasingu dla Pythona PIL?
- 6. Czy istnieje sposób na znalezienie nieużywanego CSS na stronie internetowej?
- 7. metoda Extension C# dla sprawdzenia atrybutów
- 8. Wyszukiwanie wektora obiektów według atrybutów obiektu
- 9. Czy istnieje sposób na znalezienie ID Teamviewer w języku C#?
- 10. Czy istnieje szybki sposób na znalezienie brakujących końców w Ruby?
- 11. Czy istnieje sposób na znalezienie sumy cyfr 100 !?
- 12. Rozszerzanie kompilatora Mono C#: czy istnieje jakakolwiek dokumentacja lub precedens?
- 13. Znalezienie ukryte definicje metoda makro kontekście
- 14. Node.js: Czy istnieje jakakolwiek dokumentacja dotycząca zmiennej process.env
- 15. Czy istnieje metoda "upto" w języku C#?
- 16. Czy istnieje jakakolwiek przeglądarka funkcji eksportu natywnego DLL?
- 17. Czy istnieje metoda równoważna LINQ?
- 18. W python, czy istnieje setdefault() równoważne do uzyskania atrybutów obiektu?
- 19. Czy istnieje sposób umieszczania atrybutów na właściwościach anonimowych typów?
- 20. Lista obiektów i atrybutów JMX?
- 21. Czy istnieje metoda kliknięcia jQuery?
- 22. wyzwalania tylko dla zmienionych wartości
- 23. Czy istnieje sposób na znalezienie numeru żądania dostosowania dla danego rekordu w widoku konserwacji?
- 24. Czy istnieje pula obiektów ogólnego przeznaczenia dla .NET?
- 25. Czy istnieje nieodłączna metoda dla tablicy "Array # include?"?
- 26. W RSpec, czy istnieje metoda równoważna "unstub", ale "should_receive"?
- 27. Funkcja PHP do wypisywania wszystkich atrybutów obiektów
- 28. Czy istnieje sposób na udostępnianie obiektów między stronami php?
- 29. Czy istnieje metoda Pythona do uzyskiwania dostępu do wszystkich nieprywatnych i niewbudowanych atrybutów klasy?
- 30. Selektor atrybutów CSS dla niepustych atrybutów
-1 mylące Ruby i Railsy, a przynajmniej nie są wystarczająco jasne – horseyguy