Class Merb::Helpers::Form::Builder::Form
In: merb-helpers/lib/merb-helpers/form/builder.rb
Parent: Base

Methods

Public Instance methods

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 363
363:     def button(contents, attrs = {})
364:       unbound_label(attrs) + super
365:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 300
300:     def label(contents, attrs = {})
301:       if contents
302:         if contents.is_a?(Hash)
303:           label_attrs = contents
304:           contents = label_attrs.delete(:title)
305:         else
306:           label_attrs = attrs
307:         end
308:         tag(:label, contents, label_attrs)
309:       else
310:         ""
311:       end
312:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 367
367:     def submit(value, attrs = {})
368:       unbound_label(attrs) + super
369:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 340
340:     def unbound_check_box(attrs = {})
341:       label_text = unbound_label(attrs)
342:       super + label_text
343:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 345
345:     def unbound_hidden_field(attrs = {})
346:       attrs.delete(:label)
347:       super
348:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 323
323:     def unbound_label(attrs = {})
324:       if attrs[:id]
325:         label_attrs = {:for => attrs[:id]}
326:       elsif attrs[:name]
327:         label_attrs = {:for => attrs[:name]}
328:       else
329:         label_attrs = {}
330:       end
331: 
332:       label_option = attrs.delete(:label)
333:       if label_option.is_a? Hash
334:         label(label_attrs.merge(label_option))
335:       else
336:         label(label_option, label_attrs)
337:       end
338:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 350
350:     def unbound_radio_button(attrs = {})
351:       label_text = unbound_label(attrs)
352:       super + label_text
353:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 355
355:     def unbound_select(attrs = {})
356:       unbound_label(attrs) + super
357:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 359
359:     def unbound_text_area(contents, attrs = {})
360:       unbound_label(attrs) + super
361:     end

Private Instance methods

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 388
388:     def radio_group_item(method, attrs)
389:       unless attrs[:id]
390:         attrs.merge!(:id => "#{@name}_#{method}_#{attrs[:value]}")
391:       end
392: 
393:       attrs.merge!(:label => attrs[:label] || attrs[:value])
394:       super
395:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 373
373:     def update_bound_controls(method, attrs, type)
374:       attrs.merge!(:id => "#{@name}_#{method}") unless attrs[:id]
375:       super
376:     end

[Source]

     # File merb-helpers/lib/merb-helpers/form/builder.rb, line 378
378:     def update_unbound_controls(attrs, type)
379:       attrs.merge!(:id => attrs[:name]) if attrs[:name] && !attrs[:id]
380: 
381:       case type
382:       when "text", "radio", "password", "hidden", "checkbox", "file"
383:         add_css_class(attrs, type)
384:       end
385:       super
386:     end

[Validate]