在Rails视图中渲染哈希

时间:2015-10-18 18:22:00

标签: ruby json ruby-on-rails-4

我有这样的哈希

valuehash={:a => { "test1"=>"testing1"} , :b => {"test2" => "testing2"}}

我希望我的回复如下

value : [ { "test1" :"testing1"} ,
        {"test2" : "testing2"}]

我在我的视图中尝试过以下代码,但它似乎无法正常工作

json.value do
  json.child! do
    json.template! valuehash[:a]
  end
  json.child! do
    json.template! valuehash[:b]
  end
end 

任何人都可以告诉我我的代码有什么问题。还需要我需要根据某些条件对值hash进行一些修改,所以我不想使用map,select但是想要使用上面的东西渲染。

1 个答案:

答案 0 :(得分:0)

valuehash={:a => { "test1"=>"testing1"} , :b => {"test2" => "testing2"}}
# {:a=>{"test1"=>"testing1"}, :b=>{"test2"=>"testing2"}} 
value = valuehash.map { |_,val| val }
# [{"test1"=>"testing1"}, {"test2"=>"testing2"}]