class ActionView::Helpers::FormBuilder
Public Instance Methods
dynamite_inputs(type_partials = {})
click to toggle source
# File lib/dynamite.rb, line 39 def dynamite_inputs type_partials = {} dir = File.expand_path('../default_partials', __FILE__) default_partials = { :textbox => "#{dir}/_textbox.html.erb", :textarea => "#{dir}/_textarea.html.erb", :email => "#{dir}/_email.html.erb", :tickbox => "#{dir}/_tickbox.html.erb" } out = []; JSON.parse(@object.schema)['inputs'].each do |input| type = input['type'].to_sym value = @object.vars()[input['label']] is_error = !@object.errors.get(input['label'].to_sym).nil? if !type_partials[type].nil? out.push @template.render :partial => partials[type], :locals => {:form => self, :name => @object_name, :input => input, :value => value, :is_error => is_error} elsif !default_partials[type].nil? out.push @template.render :file => default_partials[type], :locals => {:form => self, :name => @object_name, :input => input, :value => value, :is_error => is_error} else out.push @template.render :partial => partials[:textbox], :locals => {:form => self, :name => @object_name, :input => input, :value => value, :is_error => is_error} end end out.join.html_safe; end