Ho un modello chiamato spedizioni. Ho aggiunto alcune colonne alla tabella delle spedizioni e ci sono alcune colonne che dovrebbero essere calcolate prima del salvataggio. Quindi ora devo modificare ogni record e fare clic su Aggiornamento in modo che le nuove colonne possano calcolare e aggiungere i dati.Rails 3. Come eseguire un'azione di salvataggio su tutti i record?
Quindi esiste un modo per eseguire un salvataggio globale su tutti i record di spedizione in modo che i dati possano essere aggiunti?
before_save :default_values
def default_values
self.volume = 1 unless self.volume
self.kilograms = 1 unless self.kilograms
self.status = "Open" if self.status.blank?
if self.mode == "Air"
self.estimated_transit_time = self.etd_origin + 7.days
self.eta_place_of_delivery = self.etd_origin + 7.days
else
self.estimated_transit_time = self.etd_origin + (Place.find_by_city(self.place_of_loading).transit_time).days
self.eta_place_of_delivery = self.etd_origin + (self.estimated_transit_time).days
end
end
ottengo 'SystemStackError (livello di stack troppo in profondità):' ma se corro 'Shipment.all.each {| spedizione | shipment.save!} 'nella console funziona. Grazie! :) – leonel