Я новичок в Ruby/Rails, и я пытаюсь создать простой API, в котором будет храниться модель пива (имя и доля алкоголя). Я реализовал API с rails gem rails-api, но у меня проблема с отправкой запроса POST. Я получаю 400 ERROR из-за плохого синтаксиса (используя postman для отправки запросов).Отправка запросов POST-запросов
Я не знаю, что я делаю неправильно. Вот мой контроллер пива:
class BeersController < ApplicationController
before_action :set_beer, only: [:show, :update, :destroy]
# GET /beers
# GET /beers.json
def index
@beers = Beer.all
render json: @beers
end
# GET /beers/1
# GET /beers/1.json
def show
render json: @beer
end
# POST /beers
# POST /beers.json
def create
@beer = Beer.new(beer_params)
if @beer.save
render json: @beer, status: :created, location: @beer
else
render json: @beer.errors, status: :unprocessable_entity
end
end
# PATCH/PUT /beers/1
# PATCH/PUT /beers/1.json
def update
@beer = Beer.find(params[:id])
if @beer.update(beer_params)
head :no_content
else
render json: @beer.errors, status: :unprocessable_entity
end
end
# DELETE /beers/1
# DELETE /beers/1.json
def destroy
@beer.destroy
head :no_content
end
private
def set_beer
@beer = Beer.find(params[:id])
end
def beer_params
params.require(:beer).permit(:name, :percent)
end
end
Надеюсь, вы, ребята, можете помочь мне решить эту проблему. Заранее спасибо!
Когда я печатать журналы после этого запроса я получаю от этого бревна Heroku:
2015-04-06T11: 51: 40.715123 + 00: 00 Heroku [маршрутизатор]: при = Информация = метод POST путь = "/ пиво s "host = drinkapptest.herokuapp.com request_id = e4557a13-1391-4e30-ab8a-069e714b93 d0 fwd =" 89.164.165.138 "dyno = web.1 connect = 0ms service = 9ms status = 400 bytes = 264
Это выглядит вообще нормально. Можете ли вы поделиться запросом POST, который вы делаете? – surreymagpie
Извините за поздний ответ, я использую POSTMAN, но я не могу снять скриншот из-за низкой репутации, так вот скриншот: http://postimg.org/image/tzvdue4rd/ – itodor
Либо ответ запроса, либо ваш файл журнала должны сообщать, почему запрос был отказался –