일부 시드 재료를 생성하려고합니다.Time.new가 예상대로 작동하지 않습니다.
seed_array.each do |seed|
Task.create(date: Date.new(2012,06,seed[1]), start_t: Time.new(2012,6,2,seed[2],seed[3]), end_t: Time.new(2012,6,2,seed[2] + 2,seed[3]), title: "#{seed[0]}")
end
궁극적으로 임의의 시간, 분, 초를 넣습니다. 내가 직면하고있는 문제는 2012-06-02 날짜로 시간을 만드는 대신 다른 날짜 (2000-01-01)로 시간을 생성한다는 것입니다.
나는 레일 콘솔에서 Time.new(2012,6,2,2,20,45)
을 테스트했으며 예상대로 작동합니다. 그러나 내 데이터베이스를 뿌리려고 할 때 일부 부두교 마술이 일어나고 원하는 날짜를 얻지 못합니다.
모든 의견을 환영합니다. 고맙습니다!
갱신 1은 :
(0.0ms) begin transaction SQL
(0.5ms) INSERT INTO "tasks" ("created_at", "date", "description",
"end_t", "group_id", "start_t", "title", "updated_at") VALUES (?, ?,
?, ?, ?, ?, ?, ?) [["created_at", Tue, 03 Jul 2012 02:15:34 UTC
+00:00], ["date", Thu, 07 Jun 2012], ["description", nil],
["end_t", 2012-06-02 10:02:00 -0400], ["group_id", nil],
["start_t", 2012-06-02 08:02:00 -0400], ["title", "99"],
["updated_at", Tue, 03 Jul 2012 02:15:34 UTC +00:00]]
(2.3ms) commit transaction
이 로그의 작은 샘플입니다.
업데이트 2
Task id: 101, date: "2012-06-26", start_t: "2000-01-01 08:45:00", end_t: "2000-01-01 10:45:00", title: "1", description: nil, group_id: nil, created_at: "2012-07-03 02:15:33", updated_at: "2012-07-03 02:15:33"
이 레일 콘솔에 표시하는 것이다.
로그에서 생성 된 SQL은 무엇입니까? –
@ MarkThomas 로그를 포함했습니다. 내 문제가 시간을 표시하는 것처럼 보입니다. Mark 고맙습니다! 당신은 옳은 방향으로 초보자를 지적했습니다. –
@ MarkThomas Woops 곧 이야기를 나눴습니다. 문제는 시간을 표시하는 것이 아닙니다. 레일 콘솔로 갈 때 Task.all을 누르면 데이터가 제대로 저장되지 않았다는 것을 알 수 있습니다. –