1

作为最终结果,我需要一个像这样的哈希:

{items: {lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}...}

例如散列的散列。

问题是它应该像这样从迭代中创建:

@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 是数组,它不是二维的(结果我有 [[foo, bar] [foo1,bar1]...])

我看到如何k将其转换为哈希键(k.to_sym),但我的问题是将哈希的哈希值作为最终输出。

Ruby 1.9.3(和 Rails,但我相信这可以在没有任何 Rails 添加的情况下完成)

非常感谢。

4

1 回答 1

3

The format of the expected result is not a valid Hash.

Instead of

{items: {lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}...}

It should be like this

{items: [{lorem: val1, dolor: val2}, {lorem: val1, dolor: val2}]}

It's also not hard to get the result you want

@items = []
@goods = {lorem: "ipsum", dolor: "sit"}
@items << @goods
@result = {items: @items}
于 2013-08-09T18:39:22.030 回答