Autocomplete method for subjects.
# File app/controllers/api/subjects_controller.rb, line 15 def autocomplete query = params[:term] || params[:query] subjects = Subject.with_courses.where("name like ?", "%#{query}%").page(params[:page]).per(params[:per_page]) respond_to do |format| format.json do render :json => subjects.to_json(only: [:id, :name]) end end end
Method to get all subjects based on query paramters.
# File app/controllers/api/subjects_controller.rb, line 4 def index query = params[:q] subjects = Subject.where("name like ?", "%#{query}%") respond_to do |format| format.json do render :json => subjects.map {|s| { id: s.id, name: s.name } } end end end
Method to search students according to the parameters passed.
# File app/controllers/api/subjects_controller.rb, line 26 def search params[:page] ||= 1 params[:per_page] = Subject.count if params[:query] subjects = Subject.with_courses.search(query: params[:query], without_tutor_existence: true).page(params[:page]).per(params[:per_page]).records else subjects = Subject.with_courses.page(params[:page]).per(params[:per_page]) end respond_to do |format| format.json do render :json => subjects.to_json(only: [:id, :name, :description]) end end end