я получаю массив JSON из другого приложения, которое выглядит следующим образом (из журнала)Read JSON рубин массив на рельсах
Parameters: {"auth_token"=>[{"auth_token"=>"d11D1E3v7pKkLW4wDj8ohgtf"}]}
Этот массив будет больше (это причина для использования массивов), но я только тестирование, если я могу получить контент от него. Это моя функция:
def valid_request_array
data = ActiveSupport::JSON.decode(params)[:auth_token]
Usuario.find_by_auth_token(data[0]['auth_token']).present?
end
Я получаю следующее сообщение об ошибке:
TypeError (no implicit conversion of ActionController::Parameters into String): app/controllers/api/actas_controller.rb:35:in `valid_request_array'
Линия 35 является data = ActiveSupport::JSON.decode(params)[:auth_token]
У меня есть рельсы 4,2, а также пытались с JSON.parse(params)
и JSON.parse(params[:auth_token])
, но это не делает работы , Здесь есть аналогичный вопрос: JSON Array parsing in ROR, но мне нужно прочитать значение для аутентификации этого запроса. Подсказка:
Оба ответа работают, но я собираюсь принять это, потому что ответ немного больше. Спасибо, я застрял с этим весь день – user2782149