rails dbconsole中显示的时间戳,但不在rails控制台中

时间:2015-02-09 05:35:00

标签: ruby-on-rails

我可以在db中看到时间戳值:

select id, measured_on from measurements where measured_on is not null;
  id  |        measured_on         
------+----------------------------
 1717 | 2015-02-08 23:55:11.689849

但不是在轨道上,我得到的是:

2.1.5 :001 > @measurement = Measurement.find_by(id: 1717)
2.1.5 :007 > @measurement.measured_on
 => nil

此外,created_at和updated_at字段在数据库中可见,但在rails中不可见。 这有什么不对?

2 个答案:

答案 0 :(得分:0)

这是不可能的。但是在此之后再次检查控制台:

@measurement = Measurement.find_by(id: 1717)

输入@measurement,看看你得到了什么。你应该得到一个哈希,它应该显示Measurement表的所有记录,如created_at, updated_at, measured_on等。如果你没有得到这个,那么实际上你在上面find有一些问题。仅通过id查找您可以执行的操作:

@measurement = Measurement.find(1717)

默认情况下会按ID查找。希望这会有所帮助。

答案 1 :(得分:0)

我在config / application.rb文件中注释了这一行:

config.active_record.default_timezone ='东部时间(美国和加拿大)'

问题解决了。在此之后需要重新启动服务器。