class CmAdmin::ResourceController
def generate_nested_params(nested_table_field)
def generate_nested_params(nested_table_field) if nested_table_field.parent_field ar_model = nested_table_field.parent_field.to_s.classify.constantize table_name = ar_model.reflections[nested_table_field.field_name.to_s].klass.table_name else table_name = @model.ar_model.reflections[nested_table_field.field_name.to_s].klass.table_name end column_names = table_name.to_s.classify.constantize.column_names column_names = column_names.map {|column_name| column_name.gsub('_cents', '') } column_names = column_names.reject { |column_name| CmAdmin::REJECTABLE_FIELDS.include?(column_name) }.map(&:to_sym) + [:id, :_destroy] if nested_table_field.associated_fields nested_table_field.associated_fields.each do |associated_field| column_names << generate_nested_params(associated_field) end end column_names += attachment_fields(table_name.to_s.classify.constantize) Hash[ "#{table_name}_attributes", column_names ] end