В большинстве случаев с описанным симптомом истинный корень проблемы является источником входящего запроса: если он отправляет JSON в ваше приложение, он должен отправлять заголовок Content-Type application/json
.
Если вы можете изменить приложение, отправляющее запрос, отрегулируйте этот заголовок, и Rails будет анализировать тело как JSON, и все будет работать так, как ожидается, с проанализированными полями JSON, которые появятся в вашем хеше params
. 1005 *
Когда это невозможно (например, если вы не контролируете источник запроса - как в случае получения уведомления Amazon SNS), Rails не будет автоматически анализировать тело как JSON для вас, поэтому лучше всего Вы можете это прочитать и разобрать самостоятельно, как в:
json_params = JSON.parse(request.raw_post)