Sha256: 44fc64041497f29f4d6279dda1ac5f6df19de0384a887919af6896a358b4bc24

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

class Select2Controller < ApplicationController
  include Select2Helper::Errors

  def tags
    @tags = ActsAsTaggableOn::Tag.page(params[:page]).order(:name)
    @tags = @tags.where('name ILIKE ?', "%#{params[:term]}%") if params[:term].present?
    @tags = @tags.includes(:taggings).where('taggings.context' => params[:context]) if params[:context].present?
  end

  def results
    model = params[:model].constantize
    raise InvalidModel unless model < Select2Concern
    raise NotInWhiteList unless model.select2_allowed_search? params[:column].to_sym
    @records = model.page(params[:page])
    @records = @records.where(params[:where]) if params[:where]
    @records = @records.where("#{params[:column]} ILIKE ?", "%#{params[:term]}%") if params[:term].present?
  end

  def polymorphic
    model_class = params[:model].constantize
    @records = model_class.page(params[:page])
    @records = @records.where("#{params[:column]} ILIKE ?", "%#{params[:term]}%") if params[:term].present?
    render :results
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
select2_helper-0.2.0 app/controllers/select2_controller.rb
select2_helper-0.1.4 app/controllers/select2_controller.rb