2016-08-08 40 views
0

Ich verwende ein Attribut mit dem Namen :subscription_active_untill in meiner Benutzertabelle, sein Typ ist datetime, ich versuche, einen Datumsstempel in es zu speichern, aber es wird nicht gespeichert. Zum Beispiel der Ausführung Strombefehls in Schienen KonsoleSchienen 4.2: Datum/Uhrzeit Attribut nicht gespeichert

User.find(3).update(:subscription_active_untill => 1473363930) 

es gibt true in der Konsole, aber wenn ich die Platte sehe mit User.find(3) das :subscription_active_untill Attribut ist noch nill. Was könnte das Problem sein?

Hinweis: Ich kann jedes andere Attribut des gleichen Datensatzes ohne ein Problem aktualisieren, das Problem ist mit diesem spezifischen Attribut.

+1

was ist, wenn Sie ein Standard-datetime-Format übergeben? smtg like '2001-02-03T04: 05: 06 + 00: 00' – davideghz

+0

Ja, ich habe es herausgefunden. Ich musste im UTC-Format anstelle von UNIX-Zeitstempel senden. Danke trotzdem. –

Antwort

0

Das Problem wurde gelöst, oben versuchte ich, falsches Format für das Datetime (d. H. Unix-Timestamp-Format) zu speichern. Ich musste es in das richtige Format konvertieren. Wenn Sie die folgenden Befehle ausführen, wird das Attribut korrekt gespeichert.

User.find(3).update(:subscription_active_untill => 2016-09-08 20:14:30 UTC) 

Um UNIX timestamo zu UTC-Format konvertieren wir folgenden Code verwenden können:

Time.at(1473363930).utc