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.2.22 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.21 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.20 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.19 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.18 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.17 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.16 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.15 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.14 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.13 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.12 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.11 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.10 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.9 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.8 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.7 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.6 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.5 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.4 app/controllers/admin/tags_controller.rb
fullstack-cms-0.2.3 app/controllers/admin/tags_controller.rb