Перебирайте записи по датам созданной даты и обновляйте с половиной времени из Time.now - PullRequest
0 голосов
/ 25 января 2011

Я хочу перебрать довольно большую коллекцию записей в консоли, разделить их дату вдвое по сравнению с Time.now и сохранить ее.Так, скажем, записи с create_at два месяца назад теперь будут 1 месяцем, 1 день - 12 часами и т. Д.

Это не работает, но только для примера:

Log.all.each{|l| l.created_at = l.created_at - (Time.now - l.created_at * 0.5); l.save}

1 Ответ

1 голос
/ 26 января 2011

Попробуйте:

Log.all.each{|l| l.created_at = Time.at( l.created_at.to_f + (Time.now.to_f - l.created_at.to_f)/2 ); l.save}

Что должно быть таким же, как:

Log.all.each{|l| l.created_at = Time.at( (Time.now.to_f + l.created_at.to_f)/2 ); l.save}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...