Sha256: 399a7145d8b1162506e1a66d1fb70b3e4b25be45c26967300a692aeee8a24d6c

Contents?: true

Size: 561 Bytes

Versions: 97

Compression:

Stored size: 561 Bytes

Contents

class Admin::TagsController < Admin::BaseController
  respond_to :json

  def index
    term = params[:term]
    context = params[:context] || "tags"
    
    @tag_names = if(term && term.size >= 3)
      condition = ActsAsTaggableOn::Tag.arel_table[:name].matches("%#{term}%")
      tags = ActsAsTaggableOn::Tag.joins("JOIN taggings on taggings.tag_id = tags.id").where(condition)
      
      if context
        tags = tags.where("taggings.context" => context)
      end
      
      tags.pluck(:name)
    end || []

    render :json => @tag_names
  end
 
end

Version data entries

97 entries across 97 versions & 1 rubygems

Version Path
fullstack-cms-0.3.27 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.26 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.25 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.24 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.23 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.22 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.21 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.20 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.19 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.18 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.17 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.16 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.15 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.14 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.13 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.12 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.11 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.10 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.9 app/controllers/admin/tags_controller.rb
fullstack-cms-0.3.8 app/controllers/admin/tags_controller.rb