2017-01-12 5 views
3

Я испытываю различное поведение между Rails 4 и 5; в частности, класс created_at и updated_at значений модели в коде. В Rails 4 это показывает, что они ActiveSupport::TimeWithZone, но Rails 5 просто имеет их как Date. Значения также (очевидно) печатаются по-разному с puts.Rails 5 - created_at и updated_at классы

Я не изменил тип базы данных этих значений. Я использую Oracle с activerecord-oracle_enhanced-adapter gem (v1.7.0), а столбцы были созданы «нормально» при миграции с t.timestamps без специальной настройки.

» bundle exec rails c 
Running via Spring preloader in process 69059 
Loading development environment (Rails 4.2.7.1) 
[1] (pry) main: 0> Rails.version 
=> "4.2.7.1" 
[2] (pry) main: 0> Document.first.created_at.class 
[ SQL Omitted ] 
=> ActiveSupport::TimeWithZone ←←←←←←←←←←←← HERE 
[3] (pry) main: 0> puts Document.first.updated_at 
[ SQL Omitted ] 
2016-09-08 17:05:18 -0600 ←←←←←←←←←←←←←←←←← HERE 
=> nil 
[4] (pry) main: 0> !!! 

» git flow feature checkout rails-5 
Switched to branch 'feature/rails-5' 

» bundle exec rails c 
Running via Spring preloader in process 69533 
Loading development environment (Rails 5.0.1) 
[1] (pry) main: 0> Rails.version 
=> "5.0.1" 
[2] (pry) main: 0> Document.first.created_at.class 
[ SQL Omitted ] 
=> Date ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←← HERE 
[3] (pry) main: 0> puts Document.first.updated_at 
[ SQL Omitted ] 
2016-09-08 ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←← HERE 
=> nil 

Действительно ли они изменили это, или я делаю что-то неправильно? Что мне не хватает?

+0

Какая база данных вы используете и что она говорит о типе данных столбца created_at? – Maltiriel

+0

@Maltiriel: Обновлен вопрос с информацией db. – istrasci

ответ

Смежные вопросы