class EmployersController < ApplicationController before_action :set_employer, only: [:show, :edit, :update, :destroy] # GET /employers def index @employers = Employer.order(:last_name).page(params[:page]).per(5) # Adjust the number per page as needed end # GET /employers/:id def show @employer = Employer.includes(:employer_records, :direct_participants).find(params[:id]) @employer_records = @employer.employer_records.includes(:participant) 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( "first_name LIKE :term OR last_name LIKE :term", term: "%#{params[:term]}%" ) else @employers = Employer.none end render json: @employers.map { |e| { label: e.full_name, value: e.id } } end private def set_employer @employer = Employer.find(params[:id]) end def employer_params params.require(:employer).permit( :first_name, :last_name, :address_line_1, :address_line_2, :city, :state, :zip, :phone, :email, :tin, :dob, :ssn, :gender ) end end