我正在试着写出更紧凑的代码。我有三个哈希。第一个散列(@ hash )是子散列(value_1,value_2)的集合
@hash = {
"Key" => ["value_1", "value_2"]
}
@value_1 = {
"Foo" => ["bar_1", "bar_2"]
}
@value_2 = {
"Foo2" => ["bar2_1", "bar2_2"]
}现在,在我的haml视图中,我试着做这样的东西:
- i = 0
- @hash.each_value do |value|
- @value_[i].each_pair do |k, v|
= k
= v[0]
- i = i +1我不想一个接一个地写哈希。这有点类似于用字符串做一个符号,你可以写一些像"value_#{i}".to_sym这样的东西。我希望,有人能跟随我并帮助我。
发布于 2011-11-19 23:16:18
@hashes = [
{
"Foo" => ["bar_1", "bar_2"]
},
{
"Foo2" => ["bar2_1", "bar2_2"]
}
]然后
@hashes.each do |v|
v.each_pair do |k,v|
= k
= v[0]如果需要索引,请使用each_with_index。
编辑
试试这个:
- @hash.each_value do |value|
- value.each do |v|
- instance_variable_get(:"@#{v}").each_pair do |k, val|
= k
= val[0]API
https://stackoverflow.com/questions/8194892
复制相似问题