Advertisement
Guest User

Untitled

a guest
Apr 14th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.25 KB | None | 0 0
  1. class NodesController < ApplicationController
  2.   before_action :set_node, except: %I[new create index]
  3.   before_action :authenticate_user!, except: %I[index show]
  4.  
  5.   def index
  6.     @nodes = Node.all
  7.   end
  8.  
  9.   def show; end
  10.  
  11.   def new
  12.     @node = Node.new(parent_id: params[:parent_id])
  13.     # @node.image = params[:file]
  14.   end
  15.  
  16.   def create
  17.     @node = Node.new(node_params)
  18.     if @node.save
  19.       redirect_to nodes_path, notice: 'A new node was successfully saved'
  20.     else
  21.       flash[:alert] = 'An error occurred while saving new node'
  22.       render :new
  23.     end
  24.   end
  25.  
  26.   def edit; end
  27.  
  28.   def update
  29.     if @node.update node_params
  30.       redirect_to nodes_path, notice: 'The node was successfully updated'
  31.     else
  32.       flash[:alert] = 'An error occurred while updating node'
  33.       render :edit
  34.     end
  35.   end
  36.  
  37.   def destroy
  38.     @node.destroy
  39.     if @node.destroyed?
  40.       flash[:notice] = 'The node was successfully deleted'
  41.     else
  42.       flash[:alert] = 'An error occurred while deleting node'
  43.     end
  44.     redirect_to nodes_path
  45.   end
  46.  
  47.   private
  48.  
  49.   def node_params
  50.     params.require(:node).permit(:title, :description, :image, :parent_id, :remove_image)
  51.   end
  52.  
  53.   def set_node
  54.     @node = Node.find params[:id]
  55.   end
  56. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement