Ruby on rails 遍历以创建散列

Ruby on rails 遍历以创建散列,ruby-on-rails,ruby,ruby-on-rails-3,hash,Ruby On Rails,Ruby,Ruby On Rails 3,Hash,作为最终结果,我需要一个如下所示的散列: {items: {lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}...} e、 g.散列 问题是,它应该从迭代中创建,如下所示: @result = [] @goods = {lorem: "ipsum", dolor: "sit"} @items.each do |item| @goods.map do |k, v| if item.title == "ipsum"

作为最终结果,我需要一个如下所示的散列:

{items: {lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}...}
e、 g.散列

问题是,它应该从迭代中创建,如下所示:

@result = []

@goods = {lorem: "ipsum", dolor: "sit"}

@items.each do |item|
  @goods.map do |k, v|
    if item.title == "ipsum"
      @result << [k, v]
    else
      @result << [k, item.title]
    end
  end
end
@result=[]
@货物={lorem:“ipsum”,dolor:“sit”}
@项目。每个do |项目|
@goods.map do|k,v|
如果item.title==“ipsum”

@结果预期结果的格式不是有效的哈希

而不是

{items: {lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}...}
应该是这样的

{items: [{lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}]}
得到你想要的结果也不难

@items = []
@goods = {lorem: "ipsum", dolor: "sit"}
@items << @goods
@result = {items: @items}
@items=[]
@货物={lorem:“ipsum”,dolor:“sit”}
@项目