Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 每个组件的配对顺序(2)_Ruby On Rails_Ruby_Rails Activerecord - Fatal编程技术网

Ruby on rails 每个组件的配对顺序(2)

Ruby on rails 每个组件的配对顺序(2),ruby-on-rails,ruby,rails-activerecord,Ruby On Rails,Ruby,Rails Activerecord,我有一个具有以下型号的Rails 5.1应用程序: class Game < ApplicationRecord has_and_belongs_to_many :players end class Player < ApplicationRecord has_and_belongs_to_many :games end 输出: players.first: 101088061, julia players.second: 132733334, clara players

我有一个具有以下型号的Rails 5.1应用程序:

class Game < ApplicationRecord
  has_and_belongs_to_many :players
end

class Player < ApplicationRecord
  has_and_belongs_to_many :games
end
输出:

players.first: 101088061, julia
players.second: 132733334, clara
players.last: 931424614, felix
<<each_cons>> one: 931424614, felix - two: 132733334, clara
<<each_cons>> one: 132733334, clara - two: 101088061, julia
players.first:101088061,朱莉娅
第二名:132733334,克拉拉
球员。最后:931424614,费利克斯
一号:931424614,费利克斯-二号:132733334,克拉拉
一号:132733334,克拉拉-二号:101088061,朱莉娅

我希望它能与
julia,clara
一起调用,然后与
clara,felix
一起调用。这种颠倒顺序的原因可能是什么?

当您调用
玩家时。首先,
您可能会得到一个查询,该查询通过“玩家”选择具有
顺序的玩家。“id”ASC LIMIT 1

当你调用
second
时,你可能会得到“玩家”的
订单。“id”ASC LIMIT 1 OFFSET 1


当您呼叫
玩家时
不会应用此命令

如果这不是您想要的行为,请定义:

@players = players.order(:id)
。。。然后是
@players。第一个
@players。第二个
将给出与您从
@players
获得的顺序一致的值,因为您将使用
第一个
第二个
的数组实现

检查日志中的SQL语句以确保正确

@players = players.order(:id)