main
 1class CakesController < ApplicationController
 2  before_filter :authenticate_user!, except: [:index, :show]
 3
 4  def index
 5    @cakes = Cake.limit(12).order(:updated_at).all(include: [:user])
 6  end
 7
 8  def n_plus_one
 9    @cakes = Cake.all(include: :category)
10    render :index
11  end
12
13  def show
14    @cake = Cake.find(params[:id])
15  end
16
17  def new
18    @cake = Cake.new
19    @categories = Category.all
20  end
21
22  def edit
23    @cake = current_user.cakes.find(params[:id])
24    @categories = Category.all
25  end
26
27  def create
28    @cake = current_user.cakes.create(params[:cake])
29    if @cake.save
30      redirect_to @cake, notice: 'Cake was successfully created.'
31    else
32      render action: "new"
33    end
34  end
35
36  def update
37    @cake = current_user.cakes.find(params[:id])
38    if @cake.update_attributes(params[:cake])
39      redirect_to @cake, notice: 'Cake was successfully updated.'
40    else
41      render action: "edit"
42    end
43  end
44
45  def destroy
46    @cake = current_user.cakes.find(params[:id])
47    @cake.destroy
48    redirect_to cakes_url
49  end
50end