2016-08-08 6 views
0

내 사용자 테이블에 :subscription_active_untill이라는 속성을 사용하고 있습니다. 유형은 datetime입니다. 날짜 스탬프를 저장하려고하는데 저장되지 않습니다. 예를 들어, 레일 콘솔 콘솔Rails 4.2 : datetime 속성이 저장되지 않습니다.

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

가 반환 true에서 현재 명령을 실행하지만 User.find(3)를 사용하여 기록을 볼 때 :subscription_active_untill 속성은 여전히 ​​nill입니다. 무엇이 문제 일 수 있습니까?

참고 : 동일한 레코드의 다른 속성을 아무런 문제없이 업데이트 할 수 있지만이 특정 속성에는 문제가 있습니다.

+1

? smtg like'2001-02-03T04 : 05 : 06 + 00 : 00' – davideghz

+0

네, 알아 냈습니다. UNIX 타임 스탬프 대신 UTC 형식으로 제출해야했습니다. 어쨌든 고마워. –

답변

0

datetime (유닉스 타임 스탬프 형식)의 잘못된 형식을 저장하려고 할 때 문제가 해결되었습니다. 올바른 형식으로 변환해야했습니다. 따라서 다음 명령을 수행하면 속성이 올바르게 저장됩니다.

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

코드 다음 우리가 사용할 수있는 UTC 형식으로 UNIX의 timestamo을 변환하려면 :

당신이 표준 날짜 형식을 전달하는 경우 어떤
Time.at(1473363930).utc 
관련 문제