ruby-on-rails - 将管道分隔的字符串数组转换为 ruby​​ 1.9 中的映射

标签 ruby-on-rails ruby savon

我正在使用 savon gem 来处理非常糟糕的肥皂响应,例如:

["12|310|T02-260|", "14|130|T01-110|CAR 27", ...]

我需要在管道符号处拆分每一个并将它们映射到模型属性。有什么建议吗?

最佳答案

这会得到哈希数组

fields = [:a, :b, :c, :d]
response.map{ |r| Hash[*fields.zip(r.split('|')).flatten] }

Result = [ {:a => 1, :b => 2, :c => 3, :d => 4}, ... ]

关于ruby-on-rails - 将管道分隔的字符串数组转换为 ruby​​ 1.9 中的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11857972/

相关文章:

ruby-on-rails - 如何在数据库中存储当前日期当前时间

ruby - 获取 404 错误页面响应 ruby​​ 的内容

ruby - SSL 连接错误

ruby-on-rails - 使用 Netsuite Ruby Gem 获取事务时出错 - Savon::SOAPFault: (soapenv:Server.userException)

ruby-on-rails - 带有标量字段和全文搜索的 Rails Sunspot Solr any_of

ruby-on-rails - 如何描述这种 Ruby on Rails 关系

ruby-on-rails - request.format 返回 */*

ruby - 我们可以覆盖 Ruby 中的 true 和 false 方法吗?

ruby - 由模块中定义的另一个覆盖方法

ruby-on-rails - 如何在 Ruby 中从 Savon 调用此安全 Web 服务 WSDL?