Отправить json на сервер rails
def create
req = ActiveSupport::JSON.decode(request.body)
if user = User.authenticate(req["email"], req["password"])
session[:user_id] = user.id
render :json => "{"r": "t"}" + req
else
render :json => "{"r": "f"}"
end
end
метод " create "находится в контроллере и сопоставлен с" /login", я устанавливаю правильные типы контента и принимаю заголовки от моего клиента curl. Я получаю ответ состояния http 422 все время.
какие предложения?
1 ответов
Если вы отправляете правильные заголовки, вам не нужно будет делать " ActiveSupport:: JSON.decode " -- rails сделает это за вас.
вам нужно будет установить следующие заголовки в вашем сообщении.
Content-Type: application/json
Accept: application/json
422 означает необработанный объект - - - как правило, что произошел сбой проверки.
вы должны иметь возможность. Если вы не можете, то ваши заголовки установлены неправильно.
def create
if user = User.authenticate(params["email"], params["password"])
session[:user_id] = user.id
render :json => "{\"r\": \"t\"}" + req
else
render :json => "{\"r\": \"f\"}"
end
end