Конвертировать хэш в строку json - rails

У меня есть пост модель и контроллер. Однако, когда я загружаю изображение, оно сохраняет image_data как хеш

{
        "id": 54,
        "image_data": "{\"id\":\"461dd0ca2c6ad31995a30039192d43cb.png\",\"storage\":\"store\",\"metadata\":{\"filename\":\"Artboard .png\",\"size\":13081,\"mime_type\":\"image/png\"}}",
        "user_id": 55,
        "created_at": "2017-10-31T06:42:35.809Z",
        "updated_at": "2017-10-31T06:42:35.908Z"
    } 

но мне нужно, чтобы он отображался в виде строки json. to_json не работает, однако, создание контроллера работает и показывает отлично, когда я делаю

def as_json(options={})
{
:image => self.image
}
end

Но покажи, индекс и т. Д. Дай ошибку <JSON::ParserError: 743: unexpected token at 'boo'

Как сделать так, чтобы все отображалось в виде строки json?

{
    "image": {
        "id": "64b6f1b9654dc0ea91965e2003f7d270.png",
        "storage": "store",
        "metadata": {
            "filename": "Artboard .png",
            "size": 13081,
            "mime_type": "image/png"
        }
    }
}

1 ответ

Я думаю, что ваш вопрос заключается в том, как вы можете глубоко преобразовать это в объект JSON, я не думаю, что есть встроенная функция, которая могла бы сделать это, взгляните на этот ответ, так что я думаю, что вы должны создать функцию, которая глубоко конвертирует это JSON, надеюсь, это поможет.

Другие вопросы по тегам