필드 (updated_at
)를 업데이트해야합니다. MySQL의 필드는 datetime
이고 클래스는 ActiveSupport::TimeWithZone
입니다. 그러나 날짜는 "10/17/2008"
과 같은 문자열입니다. "10/17/2008".to_date
(그리고 .to_time
및 .to_datetime
)을 사용했으며 콘솔에서 ActiveRecord 클래스가 성공적으로 저장되었다고해도 데이터베이스의 필드는 여전히 현재 날짜입니다.문자열을 ActiveSupport :: TimeWithZone으로 변환하는 방법은 무엇입니까?
4
A
답변
5
좋아 .. 시간에 하나씩 가져 가자.
먼저 필드 이름을 updated_at
으로 설정하지 않는 것이 좋습니다. 이는 레일스에 의해 자동으로 채워지는 "마법"필드이기 때문입니다.
이 기능을 사용하지 않으려면
, 당신은 할 수 있습니다 : 클래스의class Foo < ActiveRecord::Base
self.record_timestamps = false
end
하지만,이 또한 created_at
필드를 사용할 수 없게됩니다.
가장 좋은 옵션은 데이터베이스에 날짜로 새 필드를 (예를 들어 my_updated_at
)를 추가하는 것입니다, 다음, 레일은 자동으로 다음 코드 조각이 작동한다는 것을 의미 변환을 처리합니다
Foo.new({:my_updated_at => "10/17/2008"})
둘째, 답을
ActiveSupport::TimeZone['UTC'].parse("10/17/2008")
하지만 난이 (물론 현재 날짜/시간 UTC
변경) 당신을 도울 것입니다 생각하지 않습니다 ActiveSupport::TimeWithZone
에 문자열을 구문 분석하는 방법이다.
관련 문제
- 1. 어떻게 문자열 형식의 날짜를 ActiveSupport :: TimeWithZone으로 변환합니까?
- 2. 문자열을 배열로 변환하는 방법은 무엇입니까?
- 3. 문자열을 NSDate로 변환하는 방법은 무엇입니까?
- 4. 문자열을 json 객체로 변환하는 방법은 무엇입니까?
- 5. 문자열을 부분 문자열로 변환하는 방법은 무엇입니까?
- 6. 속도 템플릿에서 문자열을 정수로 변환하는 방법은 무엇입니까?
- 7. JavaScript에서 문자열을 XML 객체로 변환하는 방법은 무엇입니까?
- 8. iMacros에서 문자열을 정수로 변환하는 방법은 무엇입니까?
- 9. 문자열을 유효한 CSV 필드로 변환하는 방법은 무엇입니까?
- 10. NSDateTimeFormatter를 사용하여이 문자열을 UnixTime으로 변환하는 방법은 무엇입니까?
- 11. 지수가있는 문자열을 float로 변환하는 방법은 무엇입니까?
- 12. 파이썬에서 문자열을 파일로 변환하는 방법은 무엇입니까?
- 13. Teradata에서 문자열을 이진으로 변환하는 방법은 무엇입니까?
- 14. 태그가있는 문자열을 xml로 변환하는 방법은 무엇입니까?
- 15. VBScript에서 문자열을 개체로 변환하는 방법은 무엇입니까?
- 16. C++ 문자열을 char *로 변환하는 방법은 무엇입니까?
- 17. XQuery에서 문자열을 노드로 변환하는 방법은 무엇입니까?
- 18. .NET에서 문자열을 바이트 배열로 변환하는 방법은 무엇입니까?
- 19. 바이트 문자열을 숫자로 변환하는 방법은 무엇입니까?
- 20. 람다 문자열을 십진수로 변환하는 방법은 무엇입니까?
- 21. 유니 코드 문자열을 char로 변환하는 방법은 무엇입니까?
- 22. CakePHP 코어 문자열을 추출하고 변환하는 방법은 무엇입니까?
- 23. 문자열을 객체 속성 이름으로 변환하는 방법은 무엇입니까?
- 24. JSON 문자열을 javascript 객체로 변환하는 방법은 무엇입니까?
- 25. 완벽한 정밀도로 문자열을 실수로 변환하는 방법은 무엇입니까?
- 26. 데이터베이스에서 'created_at'값을 가져 오는 방법 (ActiveSupport :: TimeWithZone으로 캐스트 된 객체가 아님)
- 27. Rails ActiveSupport : 오류가 발생했다고 주장하는 방법은 무엇입니까?
- 28. 문자열을 파이썬으로 datetime으로 변환하는 방법
- 29. 문자열을 정규식 리터럴로 변환하는 방법
- 30. 문자열을 base64 바이트 배열로 변환하는 방법은 유효할까요?
필자는 레일즈 콘솔'2.0.0p247 : 001> ActiveSupport :: TimeZone [ 'UTC'] .parse ("10/17/2008")'에서'ArgumentError : argument out of range'를 시도했다. 정말 당신을 위해 일해? 나는'Rails 4.0.4'를 사용하고 있습니다. – user664833
여기에 있습니다. 나는 논쟁 거리를 벗어난다. 레일 4.0.5를 사용하고 있습니다. – Rystraum
레일즈 3.2.16에서 작동하지 않습니다 – Styledev