diff options
Diffstat (limited to 'app/controllers/wines_controller.rb')
-rw-r--r-- | app/controllers/wines_controller.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/app/controllers/wines_controller.rb b/app/controllers/wines_controller.rb new file mode 100644 index 0000000..9129dee --- /dev/null +++ b/app/controllers/wines_controller.rb @@ -0,0 +1,49 @@ +class WinesController < ApplicationController + def index + @wines = Wine.all + end + + def show + @wine = Wine.find(params[:id]) + end + + def new + @wine = Wine.new + end + + def create + @wine = Wine.new(wine_params) + + if @wine.save + redirect_to @wine + else + render :new, status: :unprocessable_entity + end + end + + def edit + @wine = Wine.find(params[:id]) + end + + def update + @wine = Wine.find(params[:id]) + + if @wine.update(wine_params) + redirect_to @wine + else + render :edit, status: :unprocessable_entity + end + end + + def destroy + @wine = Wine.find(params[:id]) + @wine.destroy + + redirect_to root_path, status: :see_other + end + + private + def wine_params + params.require(:wine).permit(:name, :year, :variety, :notes) + end +end |