def input_div(field_name, label: nil, type: nil, values: nil, field: {})
      raise ArgumentError, ':values is only meaningful with type: :select' if values && type != :select
      @template.content_tag :div, class: classes_for(field_name) do
        [
          label(field_name, label),
          input_for(field_name, type, field, values: values),
          errors_for(field_name)
        ].compact.join("\n").html_safe
      end
    end
def input_div(field_name, label: nil, type: nil, values: nil, field: {})
      raise ArgumentError, ':values is only meaningful with type: :select' if values && type != :select
      @template.content_tag :div, class: classes_for(field_name) do
        [
          label(field_name, label),
          input_for(field_name, type, field, values: values),
          errors_for(field_name)
        ].compact.join("\n").html_safe
      end
    end
Renders a form field with label wrapped in an appropriate +<div>+, with another +<div>+ for errors if necessary.

 @param field_name [String, Symbol] Name of the field to render
 @param label [String, Symbol] Override text for the +<label>+ element
 @param type [Symbol] Override type of field to render.
   Known values are +:date+, +:email+, +:password+, +:select+, +:textarea+, and +:time_zone+. Anything else is rendered as a text field.
 @param values [Array] Name-value pairs for +<option>+ elements. Only meaningful with +type:+ +:select+.
 @param field [Hash] Options to pass through to the underlying Rails form helper. For +type:+ +:time_zone+, +:priority_zones+ is also understood.
 @return [SafeBuffer] The rendered HTML