Cómo evitar la actualización de campos específicos de usuario

Si estás ocultando la visualización de estos valores, ¿qué importa si los rellenan? Requeriría que un usuario se esforzara para añadir una ubicación y que otro usuario tuviera que esforzarse para visitar su perfil y ver lo que había introducido.

Aparte de bifurcar Discourse para eliminar esos campos del modelo, no hay mucha manera de evitar que alguien con acceso a la consola de Rails introduzca datos en ellos.

Podrías escribir un plugin que se ejecutara periódicamente y estableciera a nil los campos que quieras. O podrías tener un hook que se llamara cuando se actualizara el perfil del usuario y que pusiera a nil esos campos. Busca un plugin en GitHub - discourse/all-the-plugins que tenga un “add_model_callback” y “:before_save” como ejemplos. Y luego lo harías para UserProfile.

4 Me gusta