Sto cercando di creare un nuovo piano nel mio ambiente di sviluppo. Cliccando su “aggiungi nuovo piano” si verifica quanto segue:
TypeError: Cannot read property 'discourse_subscriptions_currency' of undefined
at Class.model (javascripts/discourse/routes/admin-plugins-discourse-subscriptions-products-show-plans-show:22)
at Class.deserialize (route.js:1040)
at UnresolvedRouteInfoByParam.getModel (router_js.js:895)
at router_js.js:691
at invokeCallback (rsvp.js:493)
at publish (rsvp.js:476)
at rsvp.js:19
at invoke (backburner.js:338)
at Queue.flush (backburner.js:229)
at DeferredActionQueues.flush (backburner.js:426)
e anche
Errore durante l'elaborazione della rotta: adminPlugins.discourse-subscriptions.products.show.plans.show Impossibile leggere la proprietà 'discourse_subscriptions_currency' di undefined TypeError: Impossibile leggere la proprietà 'discourse_subscriptions_currency' di undefined
at Class.model (javascripts/discourse/routes/admin-plugins-discourse-subscriptions-products-show-plans-show:22:44)
Non riesco a capire se si tratti di un problema con la mia configurazione o… qualcos’altro. Questo funziona nella console avviata con le stesse impostazioni ENV (chiavi di Stripe, ecc.):
Potrebbe anche rendere impossibile vedere i nuovi piani? Ho aggiunto dei piani, ma non vengono visualizzati.
(Sto cercando di aggiungere un hook a GroupUser che monitori il gruppo e poi recuperi l’ID dell’abbonamento più recente e lo aggiunga al modello del mio plugin…)
MODIFICA: Nel frattempo, la mia PR è stata appena accettata. . .
Dico che la colpa è di @cvx Nel mio lavoro mi assicurerò di esaminare l’intera codebase per trovare altre istanze della costante Discourse, così saremo pronti per il futuro.
Aha. Ho trovato l’altro luogo ed era quello che impediva di mostrare i piani in vendita; pensavo di stare impazzendo. C’è un’altra istanza in s-show.js.es6, ma la troverai allo stesso modo in cui l’ho trovata io.
Oh, e anche Discourse.User.current().username.toLowerCase(), che immagino dovrebbe essere this.current_user.username.toLowerCase()?