2016-05-17 3 views
2

Мне нужно проверить ответ JSON перед отправкой его через контроллер. Сериализатор прикрепляет некоторые поля к ответу, который мне нужно проверить, который определит, запускаю ли я событие в отдельном потоке или отправляю электронное письмо. Как проверить ответ JSON перед отправкой его через контроллер?Проверка ответа JSON перед отправкой ответа в Rails

Вот что у меня в контроллере Rails:

respond_to do |format| 
    format.any(*Version.formats) do 
    render json: stuffs, each_serializer: StuffsSerializer 
    end 
end 

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

+0

Перед тем, как идти по этому пути, убедитесь, что вы знаете, что это не хорошая практика. Нет никакой веской причины для того, чтобы этот «условный» был сохранен в сериализаторе. – Leito

+0

как я понимаю, что вы просто хотите проверить yr stuffs 'render plain: stuffs' – 7urkm3n

+0

Это не было бы на сериализаторе. Это на контроллере. Сериализатор имеет метод, который динамически возвращает разные объекты. – Jwan622

ответ

1

Вы можете сделать что-то вроде:

stuffs_json = ActiveModel::ArraySerializer.new(stuffs, each_serializer: StuffsSerializer) 

Затем вы можете проверить эту переменную и просто положить его в визуализации

Смежные вопросы