Ruby on rails 使用Rails中数据库的值对JSON进行排序

Ruby on rails 使用Rails中数据库的值对JSON进行排序,ruby-on-rails,Ruby On Rails,考虑以下情况 我有一个数据库表,如下所示 user_id user_rank ------------------ 22 10 32 9 43 7 31 6 我有一个JSON对象,用户ID(JSON中的其他节点是为了简单而隐藏的,考虑这个响应来自API) 现在,我如何根据数据库中用户id的排名对JSON结果进行排序,并生成一个 结果像 {"user_id":[22,32,43,31]} rails中是否有类似LINQ的东西,以便我可以在其

考虑以下情况

我有一个数据库表,如下所示

user_id user_rank
------------------
22       10
32        9
43        7
31        6

我有一个JSON对象,用户ID(JSON中的其他节点是为了简单而隐藏的,考虑这个响应来自API)

现在,我如何根据数据库中用户id的排名对JSON结果进行排序,并生成一个 结果像

{"user_id":[22,32,43,31]}
rails中是否有类似LINQ的东西,以便我可以在其中保存json对象值,
并在对象和数据库表之间进行连接以获得排序后的json?

如果json中有用户ID,则:

require 'json'
user_hash = JSON.parse('{"user_id":[31,22,43,32]}') => {"user_id"=>[31, 22, 43, 32]}

users = User.all(:conditions=>["id in ?",user_hash[:user_id]])
sort_user_id = users.sort { |x, y| (x.user_rank|| 0 )<=> (y.user_rank|| 0)}.map(&:id)
{:user_id => sort_user_id}.to_json
require'json'
user_hash=JSON.parse('{“user_id”:[31,22,43,32]}')=>{“user_id”=>[31,22,43,32]}
users=User.all(:conditions=>[“id in?”,User\u hash[:User\u id]])
sort|user|id=users.sort{x,y |(x.user|u rank | 0)(y.user|u rank | 0)}.map(&:id)
{:user\u id=>sort\u user\u id}.to\u json

希望能有所帮助。

我正在搜索与Rails类似的LINQ的东西。。这样我就可以将值从JSON复制到对象,然后在对象和数据库之间建立连接。。
require 'json'
user_hash = JSON.parse('{"user_id":[31,22,43,32]}') => {"user_id"=>[31, 22, 43, 32]}

users = User.all(:conditions=>["id in ?",user_hash[:user_id]])
sort_user_id = users.sort { |x, y| (x.user_rank|| 0 )<=> (y.user_rank|| 0)}.map(&:id)
{:user_id => sort_user_id}.to_json