class Api::CoursesController

Public Instance Methods

index() click to toggle source

Method to get subject and its courses based on query params.

# File app/controllers/api/courses_controller.rb, line 3
def index
  query = params[:q]
  if params[:subject_id]
    subject = Subject.find(params[:subject_id])
    if params[:course_query].present?
      courses = Course.search(query: params[:course_query], without_tutor_existence: true, subject_id: params[:subject_id]).page(params[:page]).per(subject.courses.count).records
    else
      courses = subject.courses
    end
  else
    courses = Course.all
  end
  courses = courses.where("courses.name like ?", "%#{query}%")

  respond_to do |format|
    format.json do
      render :json => courses.to_json(only: [:id, :name, :description])
    end
  end
end