Estaba creando un plugin y me encontré con el siguiente error:
Error: No se puede hidratar el plugin sin un `id`
at Class._hydrate (discourse/models/store:330)
at eval (discourse/models/store:222)
at Array.map (<anónimo>)
at Class._resultSet (discourse/models/store:221)
at eval (discourse/models/store:80)
at tryCatcher (ember:61303)
at invokeCallback (ember:61476)
at publish (ember:61462)
at eval (ember:55822)
at invoke (ember:54023)
Me preguntaba si alguien podría decirme a qué id se refiere este error.
El error solo aparece en la consola cuando navego a /admin y luego voy a la página de plugins.
¿Qué otra información se necesita para depurar este error?
Lo resolvimos. Si navegamos a /admin/plugins.json, pudimos ver que el ID del plugin, que generalmente se llena con el nombre del plugin, no estaba establecido.
Resulta que esos campos se llenan al tener una sección de comentarios en el archivo plugin.rb… así que la solución fue agregar esto:
# frozen_string_literal: true
# name: example
# about: ejemplo de descripción
# version: 1.0
# authors: ejemplo
# url: ejemplo
Siento que si van a requerir comentarios en un archivo, esto debería estar bien documentado en algún lugar… así que dejaré esta solución aquí.