我正在尝试在字典中创建一个数组,如下所示。
我想拥有什么:
"Message": {
[
"0": "This is a message"
]
}
我现在拥有的:
"Message": {
"0": ["This is a message"
]
}
我使用以下代码初始化Message字典及其中的数组。
if not_found
convoNum = 0
arrayIndex = 0
sessions["total"] = (sessions["total"].to_i + 1).to_s
sessions["users"]["#{sessions["total"]}"] = {"arrayIndex"=>"#{arrayIndex}", "convoNum"=>"0"}
sessions["users"]["#{sessions["total"]}"]["Message"] = {}
sessions["users"]["#{sessions["total"]}"]["Message"][sessions["users"]["#{sessions["total"]}"]["Message"].length] = []
end
我在渲染我想要的布局时遇到了麻烦。简单地添加sessions["users"]["#{sessions["total"]}"]["Message"] = {[]}
会导致我的数据库在启动时崩溃。任何帮助进入第一个布局都将不胜感激。
答案 0 :(得分:1)
当你这样说时:
{
[
"0": "This is a message"
]
}
这不是有效的Ruby。你将一个键/值对放在一个数组中,这没有任何意义。
答案 1 :(得分:1)
你不能拥有(数组不能有键值对)
"Message": {
[
"0": "This is a message"
]
}
你可以拥有
"Message": {
"0": "This is a message",
"1": "Next message"
}
您可以像这样初始化
sessions["users"]["#{sessions["total"]}"]["Message"] = {}
添加
等值sessions["users"]["#{sessions["total"]}"]["Message"]["0"] = "This is a message"