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