В моей базе данных три столбца:
a
= значение b
= значение c
= a + b
Пользователь обычно вводит a
и b
в форме, а значение сохраняется в базе данных.c
будет рассчитываться моделью.
В моей модели:
class Calculate < ActiveRecord::Base
before_validation_on_create :update_c
before_validation_on_update :update_c
def update_c
if !a.blank? && !b.blank?
self.c = a + b
end
end
end
Просто пример кода выше.Так что c
генерируется каждый раз, когда пользователь нажимает «Сохранить».
Теперь я администратор, и я заполнил 1000 значений для a
и b
, используя phpMyAdmin CSV import:
id=1, a=4, b=7, c=
id=2, a=1, b=6, c=
id=3, a=3, b=2, c=
.
.
.
Вопрос на миллион долларов:
Как лучше всего это сделать в консоли или где-то еще, чтобы поручить Rails генерировать C для всех 1000 записей?
Спасибо!
ОБНОВЛЕНИЕ 1:
На самом деле c = a + b
не так просто в моем коде.Возьмите geocode_address
как c
, address_geo
как a, b
, вот полный код:
def geocode_address
if !address_geo.blank?
geo=Geokit::Geocoders::MultiGeocoder.geocode(address_geo)
errors.add(:address, "Could not Geocode address") if !geo.success
self.lat, self.lng = geo.lat,geo.lng if geo.success
end
end