在rails的上下文中,如何在第二列之前订购列?

时间:2014-03-14 18:32:42

标签: ruby-on-rails ruby postgresql

我正在使用rails和postgresql。我在模型上有一个created_at时间戳。我处于需要按秒排序结果的情况。我似乎无法获得铁路。

e.g。如果我在1分钟内插入5条记录,然后想要按created_at时间排序,因为它们都具有相同的分钟,它开始按alpha排序,因为它们都具有相同的插入分钟。

我怎样才能使它在几秒钟内通过插入命令。 Postgres正在存储它。但是DateTime似乎并没有以这种方式考虑几秒......

我希望这是有道理的

柯克

2 个答案:

答案 0 :(得分:0)

ActiveRecord order方法应排序,包括第二个

例如:

请注意,最后两个日期时间是在同一分钟

User.pluck(:created_at)
=> [Fri, 14 Mar 2014 16:26:02 UTC +00:00, Fri, 14 Mar 2014 18:33:42 UTC +00:00, Fri, 14 Mar 2014 18:33:51 UTC +00:00]

User.order("created_at desc").collect(&:created_at)
 => [Fri, 14 Mar 2014 18:33:51 UTC +00:00, Fri, 14 Mar 2014 18:33:42 UTC +00:00, Fri, 14 Mar 2014 16:26:02 UTC +00:00]

答案 1 :(得分:0)

添加:

default_scope - > {order('created_at DESC')}

到您的ActiveRecord应该这样做,因为created_at应该如下所示:“2014-03-12 15:29:26”指定秒。