我正在将以下数据集以JSON格式传递给我的控制器:
[
{id: 0, exercises: [15, 18]},
{id: 1, exercises: [33, 35]}
]
这是在我的控制器中收到的,我必须按照以下代码临时显示它:
arr = params["_json"]
binding.pry
这在撬控制台中提供了以下输出:
[3] pry(#<ProgramsController>)> arr
=> [<ActionController::Parameters {"id"=>0, "exercises"=>[16, 7, 18]} permitted: false>,
<ActionController::Parameters {"id"=>1, "exercises"=>[14, 15]} permitted: false>]
然后我可以通过arr [0]和arr [1]进行迭代,但是如何获得这些索引中的练习呢?
所以我可以做这样的事情。
arr.each do |x|
prog = Program.create(x ...)
x.each do |exercise|
prog.exercises.create(exercise_id: exercise.id)
end
end
希望有人可以帮助我处理这些数据。谢谢!
答案 0 :(得分:0)
尝试使用JSON.parse:)
arr = JSON.parse params["_json"]
答案 1 :(得分:0)
解决方案非常简单:arr [0] [“运动”]
无需解析,谢谢:)