Cuando mis usuarios visitan la página “/posted” (por ejemplo, https://meta.discourse.org/posted ), no incluye temas donde las publicaciones se han importado de un sitio anterior. Esto es a pesar de que sus publicaciones aparecen en la página “/u/xxx/activity/topics”.
Sin embargo, para mi propia cuenta, “/posted” parece funcionar bien con el contenido importado. Sin embargo, fusioné mi cuenta importada con la cuenta principal con la que se creó la instancia de Discourse, ¿así que tal vez esta sea la razón?
¿Es esto un error? Si alguien puede ayudarme a entender o al menos señalarme el código backend en el repositorio de Discourse para el filtro “/posted”, puedo intentar resolver el problema yo mismo. Como alguien relativamente nuevo en Ruby y Rails, la estructura de archivos de GitHub de Discourse todavía está más allá de mi total comprensión. ¡Lo aprecio!
Esa es mi suposición. Si las publicaciones fueron creadas por un usuario que no es el que ha iniciado sesión, este es el comportamiento esperado, ¿verdad?
Si las cuentas importadas no son las mismas que las cuentas que las personas están utilizando, deberá solucionarlo.
En mi cuenta, fusioné mi cuenta de administrador inicial de Discourse con mi cuenta importada del foro anterior. Todos los temas en los que he publicado aparecen correctamente en /posted
Para todos los demás, la cuenta que están usando solo se importó del sitio anterior. Para ellos, solo los temas en los que han publicado después de la importación aparecen en /posted. He confirmado esto usando una cuenta alternativa de prueba que tengo
Supongo que las publicaciones importadas aún deberían importar cuando se trata de lo que aparece en /posted, por lo que el comportamiento es correcto para mi cuenta pero no para todos los demás usuarios. Supongo que el paso de fusión es lo que lo hizo porque asigna todas mis publicaciones antiguas a una nueva cuenta DESPUÉS de que se hayan importado.
Lo que haría a continuación es confirmar que las publicaciones que no aparecen en /posted pertenecen, de hecho, al usuario que las está buscando. Algo como:
u = User.find_by_username('usuarioCualquiera')
posts = Post.where(user_id: u.id)
Y ver si esas publicaciones incluyen las que crees que deberían aparecer o no.
Por el contrario, podrías:
p = Post.find(id_publicacion_que_quieres)
Y ver qué usuario es el propietario de esa publicación.
Los temas importados aparecen en la página /my/activity/topics y no en la página /posted para usuarios que no sean yo mismo.
Las publicaciones importadas también aparecen en /my/activity/replies, pero los temas correspondientes no aparecen en la página /posted para usuarios que no sean yo mismo.
También lo he confirmado a través de un tema de ejemplo. El user_id en /t/xxx.json coincide con el id del usuario en /u/yyy.json, pero el tema xxx no aparece en /posted para el usuario yyy.
También puedo intentar ejecutar el código que proporcionaste, pero no parece haber ninguna razón para pensar que se trata de un problema de propiedad, hasta donde yo sé.
Por cierto, hubo un problema similar con el cambio de propiedad de publicaciones hace algún tiempo. ¿Me pregunto si eso podría proporcionar algunas pistas adicionales para tu situación?