Sha256: fc3f991609845faa8ff23efdf93d8319aad6d136b52d94aadfe8580f95292799

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

class BooksController < ApplicationController
  before_action :set_book, only: [:show, :update, :destroy]

  # GET /books
  def index
    @books = Book.all

    render json: @books
  end

  # GET /books/1
  def show
    render json: @book
  end

  # POST /books
  def create
    @book = Book.new(book_params)

    if @book.save
      render json: @book, status: :created, location: @book
    else
      render json: @book.errors, status: :unprocessable_entity
    end
  end

  # PATCH/PUT /books/1
  def update
    if @book.update(book_params)
      render json: @book
    else
      render json: @book.errors, status: :unprocessable_entity
    end
  end

  # DELETE /books/1
  def destroy
    @book.destroy
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_book
      @book = Book.find(params[:id])
    end

    # Only allow a trusted parameter "white list" through.
    def book_params
      Yamls::Parameters.new(
        params,
        model: :book,
        action: action_name,
      ).permit
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yamls-0.1.3 example/rails5/app/controllers/books_controller.rb
yamls-0.1.2 example/rails5/app/controllers/books_controller.rb