Rails按值和数组

时间:2015-08-31 15:45:59

标签: ruby-on-rails arrays

我有一系列用户,以及他们的数组ID。我需要使用{name =>创建哈希id},但是具有id' s数组的顺序。例如,当我写道:

keys = [5, 3, 2, 4, 1]
users = User.all.where(id: keys).pluck(:name, :id).to_h

它会给我{"User_1"=>2, "User_2"=>3, "User_3"=>4, "User_4"=>5, "User_0"=>1}

但是我需要得到这样的东西:

{"User_4"=>5, "User_2"=>3, "User_1"=>2, "User_3"=>4, "User_0"=>1}

是否有机会在哪里进行操作?

1 个答案:

答案 0 :(得分:0)

您从数据库获得的用户数组按updated_at列排序。试试这个:

users = User.where(id: keys).order(id: :desc).pluck(:name, :id).to_h