Module: Merb::Helpers::Form::Builder::Errorifier

Included in:
FormWithErrors, ResourcefulFormWithErrors
Defined in:
lib/merb_helpers/form/builder.rb

Instance Method Summary collapse

Instance Method Details

#error_messages_for(obj, error_class, build_li, header, before) ⇒ Object



358
359
360
361
362
363
364
365
366
367
368
369
370
371
# File 'lib/merb_helpers/form/builder.rb', line 358

def error_messages_for(obj, error_class, build_li, header, before)
  obj ||= @obj
  return "" unless obj.respond_to?(:errors)

  sequel = !obj.errors.respond_to?(:each)
  errors = sequel ? obj.errors.full_messages : obj.errors

  return "" if errors.empty?

  header_message = header % [errors.size, errors.size == 1 ? "" : "s"]
  markup = %Q{<div class='#{error_class}'>#{header_message}<ul>}
  errors.each {|err| markup << (build_li % (sequel ? err : err.join(" ")))}
  markup << %Q{</ul></div>}
end