Module: Forms::FormsHelper
- Defined in:
- app/helpers/forms/forms_helper.rb
Defined Under Namespace
Classes: FormBuilder
Instance Method Summary collapse
- #field_template(id, klass) ⇒ Object
- #form_field(field, options = {}, &block) ⇒ Object
- #form_field_icon(field, options) ⇒ Object
- #render_fields(fields, prefix) ⇒ Object
Instance Method Details
#field_template(id, klass) ⇒ Object
38 39 40 41 42 |
# File 'app/helpers/forms/forms_helper.rb', line 38 def field_template(id, klass) jquery_template_tag(id) do render :partial => klass.partial, :object => klass.new, :locals => { :index => "${index}", :prefix => "${prefix}" } end end |
#form_field(field, options = {}, &block) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/helpers/forms/forms_helper.rb', line 18 def form_field(field, ={}, &block) builder = FormBuilder.new(field, [:prefix], self) content_tag(:div, :class => [:class], :data => { :index => [:index] }) do concat builder.hidden_field(:type, :value => field.type.demodulize, :id => nil) concat content_tag(:div, form_field_icon(field, ), :class => "drag") concat content_tag(:div, capture(builder, &block), :class => "drag-area") concat link_to("Delete", '#', :class => 'delete') end end |
#form_field_icon(field, options) ⇒ Object
44 45 46 47 48 |
# File 'app/helpers/forms/forms_helper.rb', line 44 def form_field_icon(field, ) model_name = field.class.model_name icon = [:icon] || model_name.to_s.demodulize.underscore.dasherize image_tag("wheelhouse-forms/#{icon}.png", :alt => model_name.human, :title => model_name.human) end |
#render_fields(fields, prefix) ⇒ Object
32 33 34 35 36 |
# File 'app/helpers/forms/forms_helper.rb', line 32 def render_fields(fields, prefix) fields.map_with_index do |field, index| render(:partial => field.class.partial, :object => field, :locals => { :index => index, :prefix => "#{prefix}[#{index}]" }) end.join("\n").html_safe end |