Stavo creando un plugin e ho riscontrato questo errore:
Error: Can't hydrate plugin without an `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)
Mi chiedevo se qualcuno potesse dirmi a quale ID si riferisce questo messaggio?
L’errore appare nella console solo quando navigho su /admin e poi vado alla pagina dei plugin.
Quali altre informazioni sono necessarie per debuggare questo errore?
Ce l’abbiamo fatta. Se navighiamo su /admin/plugins.json, possiamo vedere che l’ID del plugin, che di solito viene popolato dal nome del plugin, non era impostato.
Si è scoperto che questi campi vengono popolati inserendo una sezione di commenti nel file plugin.rb… quindi la soluzione è stata aggiungere quanto segue:
# frozen_string_literal: true
# name: example
# about: example about
# version: 1.0
# authors: example
# url: example
Sento che, se si richiedono commenti in un file, questo dovrebbe essere ben documentato da qualche parte… quindi lascerò qui questa soluzione.