Module: Ramaze::Helper::BlueForm

Defined in:
lib/ramaze/helper/blue_form.rb

Overview

This helper tries to be an even better way to build forms programmatically, see the specs for lots of examples.

Defined Under Namespace

Classes: Form

Instance Method Summary collapse

Instance Method Details

#form(options = {}, &block) ⇒ Object



9
10
11
12
13
# File 'lib/ramaze/helper/blue_form.rb', line 9

def form(options = {}, &block)
  form = Form.new(options)
  form.build(form_errors, &block)
  form
end

#form_error(name, message) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/ramaze/helper/blue_form.rb', line 15

def form_error(name, message)
  if respond_to?(:flash)
    old = flash[:form_errors] || {}
    flash[:form_errors] = old.merge(name.to_s => message.to_s)
  else
    form_errors[name.to_s] = message.to_s
  end
end

#form_errorsObject



24
25
26
27
28
29
30
# File 'lib/ramaze/helper/blue_form.rb', line 24

def form_errors
  if respond_to?(:flash)
    flash[:form_errors] ||= {}
  else
    @form_errors ||= {}
  end
end

#form_errors_from_model(obj) ⇒ Object



32
33
34
35
36
# File 'lib/ramaze/helper/blue_form.rb', line 32

def form_errors_from_model(obj)
  obj.errors.each do |key, value|
    form_error(key.to_s, value.first % key)
  end
end