Module: ActiveAdmin::ViewHelpers::FormHelper
- Included in:
- ActiveAdmin::ViewHelpers
- Defined in:
- lib/active_admin/view_helpers/fields_for.rb,
lib/active_admin/view_helpers/form_helper.rb
Instance Method Summary collapse
- #active_admin_form_for(resource, options = {}, &block) ⇒ Object
-
#fields_for_params(params, options = {}) ⇒ Array
Flatten a params Hash to an array of fields.
- #hidden_field_tags_for(params, options = {}) ⇒ Object
Instance Method Details
#active_admin_form_for(resource, options = {}, &block) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/active_admin/view_helpers/form_helper.rb', line 5 def active_admin_form_for(resource, = {}, &block) = Marshal.load( Marshal.dump() ) [:builder] ||= ActiveAdmin::FormBuilder if ! .fetch(:decorate, true) resource = resource.model end semantic_form_for resource, , &block end |
#fields_for_params(params, options = {}) ⇒ Array
Flatten a params Hash to an array of fields.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/active_admin/view_helpers/fields_for.rb', line 16 def fields_for_params(params, = {}) namespace = [:namespace] except = [:except].is_a?(Array) ? [:except] : [[:except]] params.map do |k, v| next if namespace.nil? && %w(controller action commit utf8).include?(k.to_s) next if except.map(&:to_s).include?(k.to_s) if namespace k = "#{namespace}[#{k}]" end case v when String { k => v } when Symbol { k => v.to_s } when Hash fields_for_params(v, :namespace => k) when Array v.map do |v| { "#{k}[]" => v } end when nil { k => '' } when TrueClass,FalseClass { k => v } else raise "I don't know what to do with #{v.class} params: #{v.inspect}" end end.flatten.compact end |
#hidden_field_tags_for(params, options = {}) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/active_admin/view_helpers/form_helper.rb', line 16 def (params, ={}) fields_for_params(params, ).map do |kv| k, v = kv.first hidden_field_tag k, v, :id => sanitize_to_id("hidden_active_admin_#{k}") end.join("\n").html_safe end |