Tengo un modelo llamado envíos. Agregué algunas columnas a la tabla de envíos y hay algunas columnas que se supone deben calcularse antes de guardar. Así que ahora tengo que editar cada registro y presionar actualizar para que las nuevas columnas calculen y agreguen los datos.Rails 3. ¿Cómo realizar una acción de guardado en todos los registros?
¿Existe alguna manera de realizar un guardado global en todos los registros de envío para que se puedan agregar los datos?
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
obtengo 'SystemStackError (nivel demasiado profundo):' pero si corro 'Shipment.all.each {| envío | shipment.save!} 'en la consola funciona. ¡Gracias! :) – leonel