Почему instance.created_at == instance.updated_at возвращает false, когда объект никогда не обновлялся? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть экземпляр модели, с которой я играю в моей консоли. Экземпляр называется mz.

irb(main):002:0> mz.updated_at
=> Fri, 24 Apr 2020 14:01:38 UTC +00:00
irb(main):003:0> mz.created_at
=> Fri, 24 Apr 2020 14:01:38 UTC +00:00
irb(main):004:0> mz.created_at == mz.updated_at
=> false

Почему это так?

Мне кажется, он должен вернуть true.

(я пытаюсь решить эту проблему для неабстрактной проблемы кодирования, но лучше описать ее так, как мне кажется.)

Обновление № 1 ...

irb(main):003:0> m.updated_at.to_i
=> 1587741257
irb(main):004:0> m.created_at.to_i
=> 1587741257
irb(main):005:0> m.updated_at == m.created_at
=> false

Смущен? Я все еще.

Обновление # 2 re @ DennisvandeHoef

irb(main):002:0> m.updated_at.to_i
=> 1587741257
irb(main):003:0> m.created_at.to_i
=> 1587741257
irb(main):004:0> m.updated_at = m.created_at
=> Fri, 24 Apr 2020 15:14:17 UTC +00:00
irb(main):005:0> m.save(touch: false)
   (0.2ms)  BEGIN
  User Load (0.5ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 14], ["LIMIT", 1]]
  Tlk Load (0.4ms)  SELECT "tlks".* FROM "tlks" WHERE "tlks"."id" = $1 LIMIT $2  [["id", 48], ["LIMIT", 1]]
  Spkr Load (0.4ms)  SELECT "spkrs".* FROM "spkrs" WHERE "spkrs"."id" = $1 LIMIT $2  [["id", 65], ["LIMIT", 1]]
  ActionText::RichText Load (0.5ms)  SELECT "action_text_rich_texts".* FROM "action_text_rich_texts" WHERE "action_text_rich_texts"."record_id" = $1 AND "action_text_rich_texts"."record_type" = $2 AND "action_text_rich_texts"."name" = $3 LIMIT $4  [["record_id", 74], ["record_type", "Msg"], ["name", "safe_content"], ["LIMIT", 1]]
  Msg Update (0.6ms)  UPDATE "msgs" SET "updated_at" = $1 WHERE "msgs"."id" = $2  [["updated_at", "2020-04-24 15:14:17.833380"], ["id", 74]]
   (6.4ms)  COMMIT
=> true
irb(main):006:0> m.updated_at == m.created_at
=> true

Интересно, что это работает, но я понятия не имею, почему это будет по-другому! Есть мысли?

...