Как преобразовать поток в объект в Ruby - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь сделать запрос PUT из моего файла jQuery. Сервер дает мне 500, поскольку выборка не может быть использована моим контроллером. Это поток, который отправляется в мой файл .rb в форме request.body:

request.body == #<StringIO:0x00005597c3b69fa8>
request.body.string == "{\"name\":\"New School\",\"office_id\":2,\"inactive\":false}"

Я пытался ..

load(request.body.string)

Но это возвращает ошибку загрузки :

LoadError: cannot load such file -- {"name":"New School","office_id":2,"inactive":false}

Также ..

parse(request.body.string)

, что приводит к

undefined method `parse' for #<CrEventsApp:0x00005597c3bbf098>

Есть ли метод, который будет анализировать эту информацию обратно в ха sh ? Я могу сам проанализировать строку с помощью некоторых регулярных выражений и .split (), чтобы получить данные в удобном для использования формате, но я хотел бы получить более краткое и надежное решение.

1 Ответ

2 голосов
/ 05 февраля 2020

JSON .parse должны сделать трюк:

JSON.parse(request.body.string)
=> {"name"=>"New School", "office_id"=>2, "inactive"=>false}
...