Mam model zwany przesyłkami. Dodałem kilka kolumn do tabeli przesyłek i jest kilka kolumn, które powinny zostać obliczone przed zapisaniem. Teraz muszę edytować każdą aktualizację rekordów i trafień, aby nowe kolumny mogły obliczyć i dodać dane.Szyny 3. Jak wykonać akcję zapisu we wszystkich rekordach?
Czy istnieje sposób na wykonanie zapisu globalnego dla wszystkich rekordów wysyłek, aby dane mogły zostać dodane?
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
uzyskać 'SystemStackError (poziom stos zbyt głęboko):' ale jeśli uruchomię 'Shipment.all.each {| transport | shipment.save!} 'w konsoli działa. Dzięki! :) – leonel