Sha256: b0295199086acb104e4b62aab704b1ff829df07b1530fef5a1ab8995d306c9da

Contents?: true

Size: 555 Bytes

Versions: 1

Compression:

Stored size: 555 Bytes

Contents

module Autosuggest
  module ControllerMacros
    # when called, you must add a custom route for action like this:
    # resources :products do
    #   get :autosuggest_brand_name, :on => :collection
    # end
    def autosuggest(object, name)
      define_method "autosuggest_#{object}_#{name}" do
        # assuming an ActiveRecord mysql backed model for right now
        results = objectify(object).where("#{name} LIKE ?", "%#{params[:q]}%")
        render :json => results.map{|r| {:name => r.send(:name), :value => r.id}}
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
autosuggest-rb-0.0.2 lib/autosuggest/controller_macros.rb