class Admin::UserFieldsController < Admin::AdminController def self.columns [:name, :field_type, :editable, :description, :required, :show_on_profile] end def create field = UserField.new(params.require(:user_field).permit(*Admin::UserFieldsController.columns)) field.required = params[:required] == "true" json_result(field, serializer: UserFieldSerializer) do field.save end end def index render_serialized(UserField.all, UserFieldSerializer, root: 'user_fields') end def update field_params = params.require(:user_field) field = UserField.where(id: params.require(:id)).first Admin::UserFieldsController.columns.each do |col| field.send("#{col}=", field_params[col] || false) end json_result(field, serializer: UserFieldSerializer) do field.save end end def destroy field = UserField.where(id: params.require(:id)).first field.destroy if field.present? render nothing: true end end