Class: Formidable::Renderers::Form

Inherits:
Renderer
  • Object
show all
Defined in:
lib/formidable/renderers/string.rb

Instance Attribute Summary

Attributes inherited from Renderer

#element, #rendering_block

Instance Method Summary collapse

Methods inherited from Renderer

#initialize, #self_close_tag, #tag

Constructor Details

This class inherits a constructor from Formidable::Renderers::Renderer

Instance Method Details

#render(&block) ⇒ Object

form.render

form.render do

%div= form.submit


101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/formidable/renderers/string.rb', line 101

def render(&block)
  if method = element.attributes[:method]
    set_method(method)
  end

  if self.rendering_block
    block ||= Proc.new do
      element.elements.map do |element|
        self.instance_exec(element, &rendering_block)
      end.join("\n")
    end
  end

  block ||= begin
    Proc.new do
      element.elements.map do |element|
        element.render
      end.join("\n")
    end
  end

  tag(:form, element.attributes, &block)
end