我有一个插件,它(几乎)可以创建 Digital Ocean Droplet 并安装 Discourse。
我有一个页面,其中包含一个模板,用于渲染有关 Rails 模型、它创建的 Droplet 以及在该 Droplet 上安装的 Discourse 实例的内容。我已经通过 MessageBus 让所有必要的信息在 Rails 和 Ember 之间流动。我需要根据以下情况显示不同的内容:
- 是否有足够的信息来创建 Droplet
- 创建 Droplet 的任务是否正在运行(它会更新模型中的数据)
- Discourse 是否已安装
但我一直遇到以下错误:
You modified "hasStatus" twice on <@ember/component:ember660> in a single render.
编辑:原来是因为我有两个 computed 函数在监听同一个东西……
我想我终于意识到,我不能在模板中使用类似 {{#if hasStatus}}(这是一个 computed 函数)的方式来实现这一点,因为页面需要在用户点击“创建 Droplet”按钮后重新渲染,以显示状态(因为该按钮会设置 installation_status 变量,用于显示安装过程中的状态)。
或者,也许我还有其他错误触发了这个问题,而我当前的做法其实是可行的?
所以,我猜测我需要做的,是使用 <gasp> CSS 来隐藏各种元素?
