我正在尝试在结帐流程的最终屏幕上显示订单摘要(Rails 3中的buit)。在此之前没有提交任何内容,因此我使用jQuery的serializeArray()
来获取表单字段中的所有名称和值,这非常有用。我收集了各种嵌套属性,因此返回的数组相当繁忙,名称为order[donations_attributes][0][amount_in_dollars]
。
是否有一种简单的方法,在Javascript(或使用jQuery)中将这些名称和值转换为JSON字符串(这样可以更容易地生成我的摘要输出)。例如,像:
{
"order": {
"donations_attributes": [
{
"amount_in_dollars": 50.95,
"category": "Some Fund"
},
{
"amount_in_dollars": 90.92,
"category": "Some Other Fund"
}
],
"billing_address_attributes": {
"first_name": "Bob",
"last_name": "Smith",
"address1": "123 Whatever Street",
"and so on": "etc"
}
}
}
请记住,我还没有提交任何内容(我也不能),所以我不能用Ruby来做。有没有一种明显,直接的方法,或者我需要手工解析并构建字符串?
答案 0 :(得分:1)
您可以按原样将该数据传递到data
中的JQuery.ajax(...)
参数,它将在控制器方法中以parama
结尾,并查看您调用的操作。例如params[:order][:donations_attributes][0][:category] == "Some Fund"
。
如果要将新网址加载到浏览器中,可以对数据使用JQuery.serialize()
并将其附加到您的网址(中间带有“?”)以使用相应的查询创建网址字符串。