【问题标题】:in ruby, how do you make this nested hash work?在 ruby 中,你如何使这个嵌套的哈希工作?
【发布时间】:2010-05-01 10:21:36
【问题描述】:
这会产生一个错误:
@settings = {
:tab1 => {
:name => {
:required => true
},
:description
}
}
需要将 :descrpition 更改为 :description => {},但我没有 :description 的任何值,所以我希望它保持原样(没有空 => {})
您能告诉我处理这种情况的最佳方法吗?
提前致谢
【问题讨论】:
标签:
ruby-on-rails
ruby
hash
arrays
【解决方案1】:
你可以给它赋值 nil。
@settings = {
:tab1 => {
:name => {
:required => true
},
:description => nil
}
}
【解决方案2】:
Ruby 1.9 之前的 Hash 没有排序,即使之后它也有点笨拙,因为 AFAIK 你不能重新排序项目等,所以如果你还想保留元素的顺序,你可以考虑使用数组代替哈希值:
@settings = {
:tab1 => [
{
:field => :name,
:required => true
},
{
:field => :description
}
]
}