ActiveRecord: миллисекунды не учитываются при использовании предложения where

я работаю над проектом с API-интерфейсом rails и клиентом iOS, используя поле updated_at в качестве ссылки для обнаружения изменений на сервере, которые произошли после последнего извлечения из клиента.

В datetime updated_at есть точность в миллисекундах, что означает, что

Model.updated_at.to_f

возвращает что-то вроде1368977381,063427", Это отправляется клиенту в формате "2013-05-19T15: 29: 41.063427000Z».

Проблема в том, что когда я получаю это время от клиента, анализирую его и запрашиваю его, миллисекунды теряются.

last_update = DateTime.strptime("2013-05-19T15:29:41.063427000Z", "%Y-%m-%dT%H:%M:%S.%N%z")
Model.where("updated_at > ?", last_update)

так же хорошо, как и делать

last_update = DateTime.strptime("2013-05-19T15:29:41Z", "%Y-%m-%dT%H:%M:%S%z")
Model.where("updated_at > ?", last_update)

В результате я всегда получаю хотя бы один результат, когда не получаю ни одного, потому что миллисекунды усекаются.

Как я могу принять это во внимание в моем запросе?

Ответы на вопрос(2)

Ваш ответ на вопрос