Je créais un plugin et j’ai rencontré l’erreur suivante :
Erreur : Impossible d'hydrater le plugin sans un `id`
at Class._hydrate (discourse/models/store:330)
at eval (discourse/models/store:222)
at Array.map (<anonymous>)
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)
Je me demandais si quelqu’un pouvait m’indiquer de quel id il s’agit ici ?
L’erreur n’apparaît dans la console que lorsque je navigue vers /admin, puis vers la page des plugins.
Quelles autres informations sont nécessaires pour déboguer cette erreur ?
Nous avons trouvé la solution. Si nous naviguons vers /admin/plugins.json, nous pouvons voir que l’ID du plugin, qui est normalement renseigné par le nom du plugin, n’était pas défini.
Il s’avère que ces champs sont remplis grâce à une section de commentaires dans le fichier plugin.rb… donc la correction consistait à ajouter ceci :
# frozen_string_literal: true
# name: example
# about: example about
# version: 1.0
# authors: example
# url: example
Je pense que si vous exigez des commentaires dans un fichier, cela devrait être bien documenté quelque part… donc je laisse cette solution ici.