Sha256: 205c50d86074ff108d12dfd1dfe797ca1abe56435c2a85ae707c914b38b686de

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

class EmployeesController < ApplicationController
  before_action :set_employee, only: [:show, :edit, :update, :destroy]

  # GET /employees
  def index
    @employees = Employee.all
  end

  # GET /employees/1
  def show
  end

  # GET /employees/new
  def new
    @employee = Employee.new
  end

  # GET /employees/1/edit
  def edit
  end

  # POST /employees
  def create
    @employee = Employee.new(employee_params)

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

  # PATCH/PUT /employees/1
  def update
    if @employee.update(employee_params)
      redirect_to @employee, notice: 'Employee was successfully updated.'
    else
      render :edit
    end
  end

  # DELETE /employees/1
  def destroy
    @employee.destroy
    redirect_to employees_url, notice: 'Employee was successfully destroyed.'
  end

  def batch_actions
    @employees = Employee.find(Array.wrap(params[:ids]))
    @collection = Employee::Collection.new(@employees)
    redirect_to employees_path, alert: 'No employees selected' if @collection.empty?
  end

  def process_batch
    @employees = Employee.find(Array.wrap(params[:ids]))
    @collection = Employee::Collection.new(@employees, params[:collection])
    if @collection.save
      redirect_to employees_path, notice: 'Collection is updated'
    else
      render 'batch_actions'
    end
  end

  private

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

  # Only allow a trusted parameter "white list" through.
  def employee_params
    params.require(:employee).permit(:name, :section)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
record_collection-0.3.3 spec/dummy/app/controllers/employees_controller.rb
record_collection-0.3.2 spec/dummy/app/controllers/employees_controller.rb