首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails嵌套参数解析

Rails嵌套参数解析
EN

Stack Overflow用户
提问于 2019-03-15 02:29:09
回答 1查看 98关注 0票数 0

我有一个模型Klass,它可以有几个Note对象。在我的表单中,我的字段名为klass[notes][][note_ids][]

现在,如果我将以下参数传递到请求中:

代码语言:javascript
复制
klass[notes][][note_ids][]=5cb95789-6c35-4d39-aa17-c3ddbbbcf540&klass[notes][][note_ids][]=2cfb26df-21b4-43d7-aa65-735569d42ad9

它们被解析如下(使用Rack::Utils.parse_nested_query):

代码语言:javascript
复制
{"klass"=>{"notes"=>[{"note_ids"=>["5cb95789-6c35-4d39-aa17-c3ddbbbcf540", "2cfb26df-21b4-43d7-aa65-735569d42ad9"]}]}}

如何使它们被解析为以下内容:

代码语言:javascript
复制
{"klass"=>{"notes"=>[{"note_ids"=>["5cb95789-6c35-4d39-aa17-c3ddbbbcf540"]}, {"note_ids"=>["2cfb26df-21b4-43d7-aa65-735569d42ad9"]}]}}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 05:47:46

使用当前的方案,解析器将无法判断这两个if是在note_ids级别还是在notes级别分组。它在找到的第一个有效级别对它们进行分组。

您可以通过手动分组外部级别来帮助解析器。例如,

代码语言:javascript
复制
klass[notes][0][note_ids][]=1&klass[notes][1][note_ids][]=2

被解析为

代码语言:javascript
复制
 {"klass"=>{"notes"=>{"0"=>{"note_ids"=>["1"]}, "1"=>{"note_ids"=>["2"]}}}}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55174717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档