class Formtastic::Inputs::AutocompleteInput
Public Instance Methods
to_html()
click to toggle source
# File lib/formtastic/inputs/autocomplete_input.rb, line 6 def to_html input_wrapping do label_html << builder.text_field(method, input_html_options) << builder.hidden_field(method, hidden_html_options) end end
Private Instance Methods
association()
click to toggle source
# File lib/formtastic/inputs/autocomplete_input.rb, line 64 def association @association ||= begin association_name = method.to_s association_name.gsub!(/_id\z/, '') @builder.object.send(association_name.to_sym) end end
input_html_options()
click to toggle source
Calls superclass method
# File lib/formtastic/inputs/autocomplete_input.rb, line 16 def input_html_options { class: 'autocomplete' }.merge(super).deep_merge( name: '', id: options.key?(:input_html) && options[:input_html].key?(:id) ? options[:input_html][:id] : input_tag_id, value: options.key?(:value) ? options[:value] : input_tag_value, data: { source: options[:source] } ) end
input_tag_id()
click to toggle source
# File lib/formtastic/inputs/autocomplete_input.rb, line 33 def input_tag_id "#{sanitized_object_name}_#{sanitized_method}_autocomplete" end
input_tag_value()
click to toggle source
# File lib/formtastic/inputs/autocomplete_input.rb, line 37 def input_tag_value return unless association if association.respond_to?(:label) association.label elsif association.respond_to?(:title) association.title elsif association.respond_to?(:name) association.name else warn "#{association.class} must respond to label, title, or name" nil end end
sanitized_method()
click to toggle source
# File lib/formtastic/inputs/autocomplete_input.rb, line 60 def sanitized_method @sanitized_method ||= method.to_s.sub(/\?$/, '') end
sanitized_object_name()
click to toggle source
# File lib/formtastic/inputs/autocomplete_input.rb, line 56 def sanitized_object_name @sanitized_object_name ||= object_name.to_s.gsub(/\]\[|[^-a-zA-Z0-9:.]/, '_').sub(/_$/, '') end