添加 discourse-subscriptions 计划时遇到问题

我试图在我的开发环境中创建一个新计划。点击“添加新计划”时出现以下错误:

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)

同时还有:

Error while processing route: adminPlugins.discourse-subscriptions.products.show.plans.show Cannot read property 'discourse_subscriptions_currency' of undefined TypeError: Cannot read property 'discourse_subscriptions_currency' of undefined
    at Class.model (javascripts/discourse/routes/admin-plugins-discourse-subscriptions-products-show-plans-show:22:44)

我无法确定这是我的环境配置问题,还是其他原因。在使用相同的环境变量设置(包括 Stripe 密钥等)启动的控制台中,以下命令可以正常工作:

> SiteSetting.discourse_subscriptions_currency
=> "USD"

我可以创建和更新产品,但无法创建计划。

我想这就是原因:

啊,没错!这是由于开发实例切换到了 Ember CLI 导致的——目前不会影响生产环境。

我提交了一个拉取请求(PR),预计将在未来几天内合并,它将重构这部分代码并添加一个新功能。

这是否也会导致无法查看新计划?我已添加了计划,但它们没有显示出来。

(我试图为 GroupUser 添加一个钩子,用于监听群组,然后获取最新的订阅 ID 并将其添加到我的插件模型中……)

编辑:与此同时,我的 PR 刚刚被接受了……

这要怪 @cvx :wink: 在我的工作中,我会确保彻底检查代码库,找出更多使用 Discourse 常量的地方,以便为“未来”做好准备。

啊哈。找到了另一个地方,正是它导致销售计划无法显示;我还以为自己要疯了。在 s-show.js.es6 中还有另一个实例,但你可以通过和我一样的方式找到它。

哦,另外还有一个 Discourse.User.current().username.toLowerCase(),我想这应该是 this.current_user.username.toLowerCase() 吧?

这应该已经通过合并以下内容得到修复:

https://meta.discourse.org/t/discourse-subscriptions/140818/355?u=justin