I'm new in Ruby/Rails and I am trying to create simple API that will hold beer model (name and alcohol percent). I implemented API with rails gem rails-api but I have problem with sending POST request. I'm getting 400 ERROR due to bad syntax (using postman for sending requests).
I dont know what I am doing wrong. Here's my beers controller:
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) endend
Hope you can help me solve this problem.
When I print logs after this request I get this from Heroku logs:
2015-04-06T11:51:40.715123+00:00 heroku[router]: at=info method=POST path="/beer 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