¡Hola comunidad de Discourse!
Soy nuevo en Discourse y estoy intentando usar mis pocos conocimientos de Ruby. ¡Gracias por tu ayuda!
Aquí está mi proyecto:
Creé campos personalizados para conocer mejor a un nuevo usuario y ahora quiero actualizar el campo personalizado para los usuarios antiguos.
Quiero mostrar mi pregunta al iniciar sesión si el campo está vacío.
Si entiendo bien Discourse, necesito codificar un plugin.
¿Tienes algún consejo o ejemplo en mente para este primer desafío?
¡Gracias de antemano!
En la consola de Rails, uso
UserCustomField.where.not(value: [nil])
para encontrar usuarios que ya han respondido, pero para el resto estoy seco…
¿Cómo consigo los usuarios que no han respondido a la pregunta?
Supongo que tendré que resolver esto más tarde.
Dos sugerencias:
-
Considera preguntar cómo resolver tu problema (conseguir que los usuarios completen el campo). ¿El plugin de asistente de usuario podría ser una solución?
-
Mueve esto a Dev y pregunta allí. Creo que podría ser posible con un componente temático si los valores están en el serializador.
Para cualquiera de las dos, cambia el asunto a algo como “cómo puedo obligar a los usuarios a completar un campo personalizado cuando está vacío”.
Sin embargo, no tengo una muy buena respuesta. ![]()
A esa pregunta específica, asumiendo que una pregunta sin respuesta será NULL en la base de datos, puedes simplemente reemplazar where.not(value: [nil]) con where(value: nil).
También puedes usar where(value: [nil, ""]), que es equivalente a WHERE (something.value IS NULL OR something.value = "") en SQL, para buscar una cadena vacía o NULL. No estoy seguro de cuál es probable que sea o si es probable que cambie (de NULL a “”) si un usuario envía un campo vacío.
Gracias @pfaffman. Seguiré tu consejo. ![]()
¡Gracias @Simon_Manning por esta precisión! ¡Me ayudará mucho!
Este plugin es genial. Gracias @pfaffman
Gracias de nuevo, chicos. El plugin de asistente personalizado funciona muy bien ![]()