module CmAdmin::Models::ControllerMethod

def resource_params(params)

def resource_params(params)
  permittable_fields = @permitted_fields || @ar_model.columns.map(&:name).reject { |i| CmAdmin::REJECTABLE_FIELDS.include?(i) }.map(&:to_sym)
  permittable_fields += @ar_model.reflect_on_all_attachments.map {|x|
    if x.class.name.include?('HasOne')
      x.name
    elsif x.class.name.include?('HasMany')
      Hash[x.name.to_s, []]
    end
  }.compact
  nested_tables = self.available_fields[:new].except(:fields).keys
  nested_tables += self.available_fields[:edit].except(:fields).keys
  nested_fields = nested_tables.uniq.map {|table|
    Hash[
      table.to_s + '_attributes',
      table.to_s.classify.constantize.columns.map(&:name).reject { |i| CmAdmin::REJECTABLE_FIELDS.include?(i) }.map(&:to_sym) + [:id, :_destroy]
    ]
  }
  permittable_fields += nested_fields
  @ar_model.columns.map { |col| permittable_fields << col.name.split('_cents') if col.name.include?('_cents') }
  params.require(self.name.underscore.to_sym).permit(*permittable_fields)
end