{"answers_attributes"=>{"1"=>{"-6ren">
gpt4 book ai didi

javascript - 如何对参数中的nested_attributes进行排序

转载 作者:行者123 更新时间:2023-11-28 01:47:09 24 4
gpt4 key购买 nike

我正在尝试从 JavaScript 发布nested_attributes 参数,例如,

Parameters: {"product"=>{"answers_attributes"=>{"1"=>{"contents"=>"Spring", "questionnaire_id"=>"8"}, "3"=>{"questionnaire_id"=>"10", "contents"=>{"0"=>"PC"}, "etc"=>""}, "0"=>{"contents"=>"Aa", "questionnaire_id"=>"7"}, "2"=>{"questionnaire_id"=>"9", "contents"=>"Ski"}}, "sub"=>"0", "lang"=>"en"}, "auth_token"=>"xxxxx"}

但在本例中,“answers_attributes”的顺序为 1,3,0,2。在rails3中,答案记录是按此顺序创建的。我想在服务器端(rails)中将answers_attributes参数从1,3,0,2排序到0,1,2,3。

我知道 parms["product"]["answers_attributes"].sort 可以对顺序进行排序,但 params 不会改变。如何通过排序的answer_attributes重建参数?

提前致谢。

最佳答案

很简单,

假设您的params

params = {"product"=>{"answers_attributes"=>{
"1"=>{"contents"=>"Spring", "questionnaire_id"=>"8"},
"3"=>{"questionnaire_id"=>"10", "contents"=>{"0"=>"PC"}, "etc"=>""} ,
"0"=>{"contents"=>"Aa", "questionnaire_id"=>"7"},
"2"=>{"questionnaire_id"=>"9", "contents"=>"Ski"}}, "sub"=>"0", "lang"=>"en"} ,
"auth_token"=>"xxxxx"}

然后就这样做

params['product']['answers_attributes'].sort

更新:用排序后的答案重建参数

params[:product][:answers_attributes] = Hash[*params[:product][:answers_attributes].sort.flatten] 

关于javascript - 如何对参数中的nested_attributes进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20138853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com