Ruby on rails 将活动记录中的值插入哈希

Ruby on rails 将活动记录中的值插入哈希,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有这个: produtos = LineItem.select('codigosku, quantity').where("cart_id = #{session[:cart_id] } ") 我需要在此处插入此select(produto变量)的结果: 我该怎么做 提前谢谢 创建您的阵列: line_items_array = line_items.map{|li| li.attributes } 然后在散列中插入数组。创建数组: line_items_array = line_item

我有这个:

produtos = LineItem.select('codigosku, quantity').where("cart_id = #{session[:cart_id] } ")
我需要在此处插入此select(produto变量)的结果:

我该怎么做

提前谢谢

创建您的阵列:

line_items_array = line_items.map{|li| li.attributes }
然后在散列中插入数组。

创建数组:

line_items_array = line_items.map{|li| li.attributes }

然后在散列中插入数组。

与前面的示例一样,使用map从produtos数据创建数组;使用
属性
返回所选数据中的所有数据(它是散列)

message = { 
  "tem:carrinho" => {
    "gpa:CEP" => params[:cep],
    "gpa:CNPJ" => 'doc', 
    "gpa:IdCampanha" => 1111, 
    "gpa:Produtos" => {
      "gpa:DadosListaProdutoCarrinhoDTO" => produtos.map { |item| item.attributes } 
    } 
  }
}
或者,如果需要更具体地说明produto中的键,并在初始化后追加它

# initialize the Produtos to nil
message = { 
  "tem:carrinho" => {
    "gpa:CEP" => params[:cep],
    "gpa:CNPJ" => 'doc', 
    "gpa:IdCampanha" => 1111, 
    "gpa:Produtos" => nil
  }
}        

# build an array of DadosListaProdutoCarrinhoDTO
list = produtos.map do |item| 
  {
    "gpa:DadosListaProdutoCarrinhoDTO" => {
      "codigosku" => item.codigosku, 
      "quantity" => item.quantity
    }
  }
end

# set the Produtos key to an array of DadosListaProdutoCarrinhoDTO
message["tem:carrinho"].merge!({ "gpa:Produtos" => list })

与前面的示例一样,使用map从produtos数据创建一个数组;使用
属性
返回所选数据中的所有数据(它是散列)

message = { 
  "tem:carrinho" => {
    "gpa:CEP" => params[:cep],
    "gpa:CNPJ" => 'doc', 
    "gpa:IdCampanha" => 1111, 
    "gpa:Produtos" => {
      "gpa:DadosListaProdutoCarrinhoDTO" => produtos.map { |item| item.attributes } 
    } 
  }
}
或者,如果需要更具体地说明produto中的键,并在初始化后追加它

# initialize the Produtos to nil
message = { 
  "tem:carrinho" => {
    "gpa:CEP" => params[:cep],
    "gpa:CNPJ" => 'doc', 
    "gpa:IdCampanha" => 1111, 
    "gpa:Produtos" => nil
  }
}        

# build an array of DadosListaProdutoCarrinhoDTO
list = produtos.map do |item| 
  {
    "gpa:DadosListaProdutoCarrinhoDTO" => {
      "codigosku" => item.codigosku, 
      "quantity" => item.quantity
    }
  }
end

# set the Produtos key to an array of DadosListaProdutoCarrinhoDTO
message["tem:carrinho"].merge!({ "gpa:Produtos" => list })

如何将此数组插入哈希?很抱歉问了个愚蠢的问题…:-(如何将此数组插入哈希?很抱歉提出了一个愚蠢的问题…:-(请再提供一个信息!我只想在“gpa:DadoListProdutCarrinhodto”中重复“codigosku”=>item.codigosku,“quantity”=>item.quantity”tag!!!这可能吗?最好!你正在使用2个数据结构哈希和数组,没有魔法,你应该能够根据上面的示例构造所需的输出。请再提供一个信息!我只希望“codigosku”=>item.codigosku,“quantity”=>item.quantity被重复,在“gpa:DadoListProdutCarrinhodo”中tag!!!这可能吗?最好!您使用的是两种数据结构哈希和数组,没有什么神奇之处,您应该能够根据上面的示例构造所需的输出