Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails activerecord模型的默认排序顺序?_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails activerecord模型的默认排序顺序?

Ruby on rails activerecord模型的默认排序顺序?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,如果我没有在模型(Account)中设置默认的_作用域,只需调用Account.first,将返回哪个项 以下是一个示例: Account表有5条记录,Account.all返回: Account.all.map{ |x| {id: x.id, name: x.name, created_at: x.created_at, updated_at:x.updated_at}} Account Load (0.5ms) SELECT "accounts".* FROM "accounts"

如果我没有在模型(Account)中设置默认的_作用域,只需调用Account.first,将返回哪个项

以下是一个示例: Account表有5条记录,Account.all返回:

  Account.all.map{ |x| {id: x.id, name: x.name, created_at: x.created_at, updated_at:x.updated_at}}
  Account Load (0.5ms)  SELECT "accounts".* FROM "accounts"
=> [{:id=>2,
  :name=>"Hessel, Kirlin and Gulgowski",
  :created_at=>Wed, 04 Sep 2013 00:44:33 EDT -04:00,
  :updated_at=>Wed, 04 Sep 2013 00:44:33 EDT -04:00},
 {:id=>3,
  :name=>"Hessel, Kirlin and Gulgowski",
  :created_at=>Wed, 04 Sep 2013 00:44:34 EDT -04:00,
  :updated_at=>Wed, 04 Sep 2013 00:44:34 EDT -04:00},
 {:id=>4,
  :name=>"Hessel, Kirlin and Gulgowski",
  :created_at=>Wed, 04 Sep 2013 00:44:34 EDT -04:00,
  :updated_at=>Wed, 04 Sep 2013 00:44:34 EDT -04:00},
 {:id=>5,
  :name=>"Hessel, Kirlin and Gulgowski",
  :created_at=>Wed, 04 Sep 2013 00:44:35 EDT -04:00,
  :updated_at=>Wed, 04 Sep 2013 00:44:35 EDT -04:00},
 {:id=>1,
  :name=>"EIS",
  :created_at=>Wed, 04 Sep 2013 00:44:31 EDT -04:00,
  :updated_at=>Wed, 04 Sep 2013 00:44:32 EDT -04:00}]
Account.first返回id为2的记录,我没有在模型中设置默认的_范围,为什么id为2的id不是id为1的id

谢谢


更新:我喜欢这个答案()

我的理解是,在没有订单的情况下,将使用默认的order by id,但至少在3.2.13中不是这样

2.0.0p247 :001 > Book.first
  Book Load (60.0ms)  SELECT "books".* FROM "books" LIMIT 1

因此,在最近的版本中可能有代码更改。您使用的是什么版本?

Account.first方法生成什么查询?我使用rails 3.2.13进行此检查,然后检查查询:它看起来不符合顺序。如果排序对您来说至关重要,那么无论如何我都会明确指定。