bir yan tümce kullanırken kullanılmaz milisaniye bir raylar api ve bir iOS istemcisi ile bir proje üzerinde çalışıyorum, sonra güncelleştirilen sunucu üzerinde yapılan değişiklikleri algılamak için updated_at alanı referans olarak kullanarak müşteriden son çekiş.ActiveRecord: nerede
updated_at datetime anlamına milisaniye cinsinden bir kesinliği vardır "1368977381.063427" gibi
Model.updated_at.to_f
döner bir şey. Bu, "2013-05-19T15: 29: 41.063427000Z" biçiminde biçimlendirilmiş istemciye gönderilir.
Sorun, bu tarih bilgisini istemciden geri aldığımda, ayrıştırıp sorguladığında, milisaniye kayıpları olur. Ben hiçbirini almak gerekirken milisaniye kesik olduğu için
last_update = DateTime.strptime("2013-05-19T15:29:41.063427000Z", "%Y-%m-%dT%H:%M:%S.%N%z")
Model.where("updated_at > ?", last_update)
Sonuç olarak
last_update = DateTime.strptime("2013-05-19T15:29:41Z", "%Y-%m-%dT%H:%M:%S%z")
Model.where("updated_at > ?", last_update)
yapıyor kadar iyidir, ben her zaman, en az bir sonuç almak.
Sorgularımda bunları nasıl dikkate alabilirim?
Bunu okuyun ve "Tabii ki!" :) – Nycen
Sorunum, veritabanında depolanan zaman damgasının kesinliğinin 5 ondalık basamağa olmasıydı, oysa istemcim 3 ondalık basamağa zaman damgasını saklıyordu ... sorgudan daha büyük bir performans gösterdiğinde, her zaman aynı kayda dönecekti ekstra 2 ondalık basamak nedeniyle. – JBlake
Rails'de milisaniye desteği için daha doğal bir yol olmadığına şaşırdım. : -/ –