Sha256: 9ab4e4267ee0de0cb38a6c4ecb88d2704951d8785c5eeccd762a0958d671821c
Contents?: true
Size: 1.43 KB
Versions: 2
Compression:
Stored size: 1.43 KB
Contents
module AutoCompleteFormBuilderHelper def class_name "#{@object.class.to_s.underscore}" end def sanitized_object_name @object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "") end def is_used_as_nested_attribute? /\[#{class_name.pluralize}_attributes\]\[[0-9]+\]/.match @object_name end def text_field_with_auto_complete(method, tag_options = {}, completion_options = {}) if completion_options[:child_index] unique_object_name = "#{class_name}_#{completion_options[:child_index]}" elsif @options[:child_index] unique_object_name = "#{class_name}_#{@options[:child_index]}" elsif is_used_as_nested_attribute? unique_object_name = sanitized_object_name else unique_object_name = "#{class_name}_#{Object.new.object_id.abs}" end completion_options_for_class_name = { :url => { :action => "auto_complete_for_#{class_name}_#{method}" }, :param_name => "#{class_name}[#{method}]" }.update(completion_options) @template.auto_complete_field_with_style_and_script(unique_object_name, method, tag_options, completion_options_for_class_name ) do text_field(method, { :id => "#{unique_object_name}_#{method}" }.update(tag_options)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
repeated_auto_complete-0.1.1 | lib/auto_complete_form_builder_helper.rb |
repeated_auto_complete-0.1.0 | lib/auto_complete_form_builder_helper.rb |