Questa è probabilmente una delle cose che tutti i nuovi utenti scoprono su Rails prima o poi. Ho appena realizzato che i binari stanno aggiornando tutti i campi con la parola chiave serialize, senza verificare se qualcosa è veramente cambiato all'interno. In un modo che è la cosa sensata da fare per il quadro generale.C'è un modo per impedire che gli attributi serializzati nei binari vengano aggiornati anche se non ci sono cambiamenti?
Ma esiste un modo per ignorare questo comportamento? Se posso tenere traccia del fatto che i valori di un campo serializzato siano cambiati o meno, c'è un modo per evitare che venga inserito nell'istruzione update? Ho provato a utilizzare "update_attributes" e a limitare l'hash ai campi di interesse, ma le rotaie aggiornano ancora tutti i campi serializzati.
Suggerimenti?
sembra abbastanza promettente. Grazie! Ora che so cosa sovrascrivere, potrei farlo (in congiunzione con super) invece di usare il metodo di concatenazione, a meno che non ci siano avvertimenti nell'adottare tale approccio. Fammi sapere se vedi eventuali problemi se uso semplicemente override + super. – Tabrez
Ho provato anche quello, ma ho notato che non funzionava. Il problema è che update_with_dirty è già caricato (attraverso la catena originale) prima che tu abbia la possibilità di sovrascriverlo e usare super. – Joris
Capito. Grazie Joris! – Tabrez