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