【发布时间】:2017-04-11 22:18:26
【问题描述】:
我正在使用 Rails 应用程序中的 Web 服务收集响应
response = #api.sql_data
这会导致response 等于以下内容。
response
#=> { "success"=>true, "totalcount"=>10, "rows"=>[
# { "ID"=>"0001", "CODE"=>"0000001", "CODE_1"=>"Alpha",
# "NAME"=>"Alpha", "Balance"=>"0" },
# { "ID"=>"0002", "CODE"=>"0000002", "CODE_1"=>"Beta",
# "NAME"=>"Beta", "Balance"=>"0" },
# { "ID"=>"0003", "CODE"=>"0000003", "CODE_1"=>"Charlie",
# "NAME"=>"Charlie", "Balance"=>"0"},
# ...
# ]
# }
我创建了以下方法:
def format_response(response)
response['rows'].map do |row|
{ id: row[0],
code: row[1],
code1: row[2],
balance: row[4] }
end.uniq { |x| x[:code1] }
end
当我对response 的上述值执行此方法时,我得到以下内容。
format_response(response)
#=> [{:id=>nil, :code=>nil, :code1=>nil, :balance=>nil}]
这是不正确的。我希望这个表达式返回以下内容。
{"ID"=>"0001", "CODE"=>"0000001", "CODE_1"=>"Alpha", "NAME"=>"Alpha", "Balance"=>"0"}
我的错误是什么?
【问题讨论】:
-
HaCos,我相信我的编辑并没有改变您的问题。如果确实如此,请接受我的道歉并编辑我的编辑或回滚到您的原始问题。 (点击“已编辑”,弹出回滚选项。)
标签: ruby-on-rails ruby web-services api