class Parlez::FormBuilder

Public Instance Methods

errors_on(method) click to toggle source
# File lib/parlez/form_builder.rb, line 48
def errors_on(method)
  if object and object.respond_to?(:errors)
    if object.errors[method].present?
      errors = object.errors[method]
      "<div class='error_message'>#{errors.is_a?(Array) ? errors.first : errors}</div>"
    end
  end
end
label_for(field, options) click to toggle source
# File lib/parlez/form_builder.rb, line 33
def label_for(field, options)
  label = options.delete(:label) || field.to_s.titleize
  "<label for=\"#{object_name}_#{field}\">#{label}</label>".html_safe
end
rich_area(field, options = {}) click to toggle source
# File lib/parlez/form_builder.rb, line 18
def rich_area(field, options = {})
  options.merge!({:class => 'rich_text'})
  structured_field 'text_area', field, options do
    text_area(field, options)
  end
end
structured_field(type, field, options = {}, &block) click to toggle source
# File lib/parlez/form_builder.rb, line 25
def structured_field(type, field, options = {}, &block)
  out = "<div class='form_field #{type}'>"
  out << "<div class='label'>#{label_for(field, options)}</div>" if !options[:omit_label]
  out << "<div class='field'>#{errors_on(field)}#{yield}</div>"
  out << "</div>"
  out.html_safe
end
submit(value, options = {}, &block) click to toggle source
# File lib/parlez/form_builder.rb, line 38
def submit(value, options = {}, &block)
  extra_content = @template.capture(&block) if block_given?
  cancel_link ||= options[:cancel_url] ? ' or ' + options.delete(:cancel_url) : ''
  %(
    <div class='form_element submit_element'>
      #{super(value, options)} #{extra_content} #{cancel_link}
    </div>
  ).html_safe
end