Мне нужно создать приложение angular js в качестве клиента для использования API. Проблема в том, что API не поддерживает вызовы jsonp.
Итак, я создал приложение для рельсов, которое вызывает API и возвращает контент. Я использую камень Фарадея
Прямо сейчас у меня есть метод для каждого вызова API. Но так как каждый метод только создает запрос, инициирует запрос и возвращает контент.
Я блуждал, могу ли я создать прокси-контроллер, который создает запрос на основе того, что он получает, затем создает запрос с Фарадеем и возвращает результат. Что-то вроде этого :
def proxy_request
if request.method_symbol == :get || request.method_symbol == :delete
line 7: response = faraday_conn.run_request(request.method_symbol, request.fullpath, nil, request.headers)
elsif request.method_symbol == :post || request.method_symbol == :put || request.method_symbol == :patch
response = faraday_conn.run_request(request.method_symbol, request.fullpath, request.body.read, request.headers)
end
render :text => response.body, :status => response.status, :content_type => response.headers["Content-Type"]
конец
Это не работает. Что я делаю неправильно? Всегда терпит неудачу с
NoMethodError (undefined method `strip' for #<StringIO:0x3436848>):
app/controllers/api_proxy_controller.rb:7:in `proxy_request'