module Formtastic::Inputs::Base::Wrapping

@todo relies on `dom_id`, `required?`, `optional`, `errors?`, `association_primary_key` & `sanitized_method_name` methods from another module

Public Instance Methods

input_wrapping(&block) click to toggle source

Override this method if you want to change the display order (for example, rendering the errors before the body of the input).

# File lib/formtastic/inputs/base/wrapping.rb, line 9
def input_wrapping(&block)
  template.content_tag(:li,
    [template.capture(&block), error_html, hint_html].join("\n").html_safe,
    wrapper_html_options
  )
end
wrapper_classes() click to toggle source
# File lib/formtastic/inputs/base/wrapping.rb, line 31
def wrapper_classes
  classes = wrapper_classes_raw
  classes << as
  classes << "input"
  classes << "error" if errors?
  classes << "optional" if optional?
  classes << "required" if required?
  classes << "autofocus" if autofocus?

  classes.join(' ')
end
wrapper_classes_raw() click to toggle source
# File lib/formtastic/inputs/base/wrapping.rb, line 27
def wrapper_classes_raw
  [*wrapper_html_options_raw[:class]]
end
wrapper_dom_id() click to toggle source
# File lib/formtastic/inputs/base/wrapping.rb, line 43
def wrapper_dom_id
  @wrapper_dom_id ||= "#{dom_id.to_s.gsub((association_primary_key || method).to_s, sanitized_method_name.to_s)}_input"
end
wrapper_html_options() click to toggle source
# File lib/formtastic/inputs/base/wrapping.rb, line 16
def wrapper_html_options
  opts = wrapper_html_options_raw
  opts[:class] = wrapper_classes
  opts[:id] = wrapper_dom_id unless opts.has_key? :id
  opts
end
wrapper_html_options_raw() click to toggle source
# File lib/formtastic/inputs/base/wrapping.rb, line 23
def wrapper_html_options_raw
  (options[:wrapper_html] || {}).dup
end