module BootstrapAutocompleteInput::Controllers::Autocomplete::ClassMethods

Public Instance Methods

autocomplete(object, method, options = {}) click to toggle source
# File lib/bootstrap_autocomplete_input/controllers/autocomplete.rb, line 22
def autocomplete(object, method, options = {})
  define_method("autocomplete_#{object}_#{method}") do
    # model
    class_name = options[:class_name] || object
    model = get_object(class_name)

    term = '' # return ALL
    q = params[:q]
    q = '' if q.nil?

    #
    items = get_autocomplete_items(:model => model, :method=>method, :options => options, :q => q)

    #
    method_display_value = options[:display_value] if options.has_key?(:display_value)
    method_display_value ||= method

    method_display_id = options[:display_id] if options.has_key?(:display_id)
    method_display_id ||= model.primary_key

    data = items_to_json(items, method_display_id, method_display_value)
    render :json => data.to_json
  end
end