Sha256: 9d194c4789998ff250791520c7e397fb058a4f99ed62e22688229986b8dd322b

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

# Controller for Recipes, like "Caprese Salad"
class RecipesController < ApplicationController
  include Cookbook::Params
  before_action :set_recipe, only: %i[show edit update destroy]

  # GET /recipes
  def index
    @recipes = Recipe.all
  end

  # GET /recipes/1
  def show; end

  # GET /recipes/new
  def new
    @recipe = Recipe.new
  end

  # GET /recipes/1/edit
  def edit; end

  # POST /recipes
  def create
    @recipe = Recipe.new(recipe_params)

    if @recipe.save
      redirect_to @recipe, notice: 'Recipe was successfully created.'
    else
      render :new
    end
  end

  # PATCH/PUT /recipes/1
  def update
    if @recipe.update(recipe_params)
      redirect_to @recipe, notice: 'Recipe was successfully updated.'
    else
      render :edit
    end
  end

  # DELETE /recipes/1
  def destroy
    @recipe.destroy
    redirect_to recipes_url, notice: 'Recipe was successfully destroyed.'
  end

  private

  # Use callbacks to share common setup or constraints between actions.
  def set_recipe
    @recipe = Recipe.find(params[:id])
  end

  # Only allow a list of trusted parameters through.
  def recipe_params
    params.require(:recipe).permit(:name, :description, :serves, :meal, :instructions, cookbook_params('Recipe'))
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cookbook-0.1.6 spec/dummy/app/controllers/recipes_controller.rb
cookbook-0.1.5 spec/dummy/app/controllers/recipes_controller.rb
cookbook-0.1.4 spec/dummy/app/controllers/recipes_controller.rb
cookbook-0.1.3 spec/dummy/app/controllers/recipes_controller.rb
cookbook-0.1.2 spec/dummy/app/controllers/recipes_controller.rb
cookbook-0.1.1 spec/dummy/app/controllers/recipes_controller.rb
cookbook-0.1.0 spec/dummy/app/controllers/recipes_controller.rb