70 lines
1.5 KiB
Ruby
70 lines
1.5 KiB
Ruby
class EmployersController < ApplicationController
|
|
before_action :set_employer, only: [:show, :edit, :update, :destroy]
|
|
|
|
# GET /employers
|
|
def index
|
|
@employers = Employer.order(:name)
|
|
end
|
|
|
|
# GET /employers/:id
|
|
def show
|
|
end
|
|
|
|
# GET /employers/new
|
|
def new
|
|
@employer = Employer.new
|
|
end
|
|
|
|
# POST /employers
|
|
def create
|
|
@employer = Employer.new(employer_params)
|
|
if @employer.save
|
|
redirect_to @employer, notice: 'Employer was successfully created.'
|
|
else
|
|
render :new
|
|
end
|
|
end
|
|
|
|
# GET /employers/:id/edit
|
|
def edit
|
|
end
|
|
|
|
# PATCH/PUT /employers/:id
|
|
def update
|
|
if @employer.update(employer_params)
|
|
redirect_to @employer, notice: 'Employer was successfully updated.'
|
|
else
|
|
render :edit
|
|
end
|
|
end
|
|
|
|
# DELETE /employers/:id
|
|
def destroy
|
|
@employer.destroy
|
|
redirect_to employers_url, notice: 'Employer was successfully destroyed.'
|
|
end
|
|
|
|
# GET /employers/search
|
|
# This action responds to the auto-complete AJAX requests
|
|
def search
|
|
if params[:term].present?
|
|
@employers = Employer.where("name LIKE ?", "%#{params[:term]}%")
|
|
else
|
|
@employers = Employer.none
|
|
end
|
|
|
|
# Respond with a JSON array of employer names and IDs
|
|
render json: @employers.map { |e| { label: e.name, value: e.id } }
|
|
end
|
|
|
|
private
|
|
|
|
def set_employer
|
|
@employer = Employer.find(params[:id])
|
|
end
|
|
|
|
def employer_params
|
|
params.require(:employer).permit(:name, :address, :phone, :email, :tin, :dob, :ssn, :gender)
|
|
end
|
|
end
|