class ActiveAdmin::Inputs::Filters::SelectInput

Public Instance Methods

collection() click to toggle source

Provides an efficient default lookup query if the attribute is a DB column.

Calls superclass method
# File lib/active_admin/inputs/filters/select_input.rb, line 40
def collection
  if !options[:collection] && column
    pluck_column
  else
    super
  end
rescue ActiveRecord::QueryCanceled => error
  raise ActiveRecord::QueryCanceled.new "#{error.message.strip} while querying the values for the ActiveAdmin :#{method} filter"
end
include_blank() click to toggle source

Provide the AA translation to the blank input field.

Calls superclass method
# File lib/active_admin/inputs/filters/select_input.rb, line 25
def include_blank
  I18n.t "active_admin.any" if super
end
input_html_options_name() click to toggle source
# File lib/active_admin/inputs/filters/select_input.rb, line 29
def input_html_options_name
  "#{object_name}[#{input_name}]" # was "#{object_name}[#{association_primary_key}]"
end
input_name() click to toggle source
# File lib/active_admin/inputs/filters/select_input.rb, line 8
def input_name
  return method if seems_searchable?

  searchable_method_name + (multiple? ? "_in" : "_eq")
end
multiple_by_association?() click to toggle source

Would normally return true for has_many and HABTM, which would subsequently cause the select field to be multi-select instead of a dropdown.

# File lib/active_admin/inputs/filters/select_input.rb, line 35
def multiple_by_association?
  false
end
pluck_column() click to toggle source
# File lib/active_admin/inputs/filters/select_input.rb, line 50
def pluck_column
  klass.reorder("#{method} asc").distinct.pluck method
end
reflection_searchable?() click to toggle source
# File lib/active_admin/inputs/filters/select_input.rb, line 54
def reflection_searchable?
  reflection && !reflection.polymorphic?
end
searchable_method_name() click to toggle source
# File lib/active_admin/inputs/filters/select_input.rb, line 14
def searchable_method_name
  if searchable_has_many_through?
    "#{reflection.through_reflection.name}_#{reflection.foreign_key}"
  else
    name = method.to_s
    name.concat "_#{reflection.association_primary_key}" if reflection_searchable?
    name
  end
end