class SofaGallery::FormBuilder
Public Instance Methods
default_field(type, field, options = {}, &block)
click to toggle source
# File lib/sofa_gallery/form_builder.rb, line 18 def default_field(type, field, options = {}, &block) errors = if object.respond_to?(:errors) && object.errors[field].present? "<div class='errors'>#{[object.errors[field]].flatten.first}</div>" end if desc = options.delete(:desc) desc = "<div class='desc'>#{desc}</div>" end %( <div class='form_element #{type}_element #{'errors' if errors}'> <div class='label'>#{label_for(field, options)}</div> <div class='value'>#{yield}</div> #{desc} #{errors} </div> ).html_safe end
label_for(field, options)
click to toggle source
# File lib/sofa_gallery/form_builder.rb, line 35 def label_for(field, options) label = options.delete(:label) || field.to_s.titleize.capitalize "<label for=\"#{object_name}_#{field}\">#{label}</label>".html_safe end
simple_field(label = nil, content = nil, options = {}, &block)
click to toggle source
# File lib/sofa_gallery/form_builder.rb, line 40 def simple_field(label = nil, content = nil, options = {}, &block) content ||= @template.capture(&block) if block_given? %( <div class='form_element #{options.delete(:class)}'> <div class='label'>#{label}</div> <div class='value'>#{content}</div> </div> ).html_safe end