module ParamAutoPermit::FormBuilder
Public Class Methods
included(base)
click to toggle source
# File lib/param_auto_permit/form_builder.rb, line 5 def self.included(base) base.class_eval do alias_method_chain :label, :auto_attribute_permit alias_method_chain :submit, :auto_attribute_permit end end
Public Instance Methods
auto_permitted_attributes()
click to toggle source
# File lib/param_auto_permit/form_builder.rb, line 12 def auto_permitted_attributes @auto_permitted_attributes ||= [] end
auto_permitted_attributes_field(attribute_options = {}, field_options = {})
click to toggle source
# File lib/param_auto_permit/form_builder.rb, line 39 def auto_permitted_attributes_field(attribute_options = {}, field_options = {}) @template.hidden_field_tag("#{@object_name}[permitted_fields]", encoded_auto_permitted_attributes(attribute_options), field_options) end
encoded_auto_permitted_attributes(options = {})
click to toggle source
# File lib/param_auto_permit/form_builder.rb, line 34 def encoded_auto_permitted_attributes(options = {}) options[:form_id] ||= object.class.name ParamAutoPermit.verifier.generate([options[:form_id].to_s, auto_permitted_attributes]) end
label_with_auto_attribute_permit(method, text = nil, options = {}, &block)
click to toggle source
# File lib/param_auto_permit/form_builder.rb, line 16 def label_with_auto_attribute_permit(method, text = nil, options = {}, &block) unless (text.is_a?(Hash) ? text : options)[:auto_permit] == false auto_permitted_attributes << method end label_without_auto_attribute_permit(method, text, options, &block) end
submit_with_auto_attribute_permit(value = nil, options = {})
click to toggle source
# File lib/param_auto_permit/form_builder.rb, line 23 def submit_with_auto_attribute_permit(value = nil, options = {}) value, options = nil, value if value.is_a?(Hash) include_permit_field = options.delete(:auto_permit) != false submit_button = submit_without_auto_attribute_permit(value, options) if include_permit_field == false submit_button else submit_button.safe_concat(self.auto_permitted_attributes_field(options[:auto_permit] || {})) end end