Как я могу перебрать объект JSON в контроллере rails? - PullRequest
0 голосов
/ 15 марта 2019

Я передаю следующий набор данных моему контроллеру в формате JSON:

[
    {id: 0, exercises: [15, 18]},
    {id: 1, exercises: [33, 35]} 
]

Это получено в моем контроллере, где я должен использовать следующий код для временного отображения:

arr = params["_json"]
binding.pry

Это дает мне следующий вывод в консоли 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

Надеюсь, кто-нибудь может мне помочь с обработкой этих данных. Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Решение было довольно простым: arr [0] ["упражнения"]

Не нужно разбирать, спасибо :)

0 голосов
/ 15 марта 2019

Попробуйте использовать JSON.parse:)

arr = JSON.parse params["_json"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...