插件在本地实例中工作正常,部署后出现问题

你好!这主要是问 @angus 的问题,但如果任何人有任何建议,我将非常感激!

我一直在使用 @angus 的 Topic Custom Field Plugin 的一个变体,并且在我的本地托管的 discourse 实例(版本 3.4.0.beta3-dev)中按预期工作。当我将其安装在我们已部署的 discourse 实例(也是版本 3.4.0.beta3-dev)上时,出现了一些奇怪的问题。当用户撰写新帖子并在自定义字段中输入内容时,它不会保存或在用户发布帖子时渲染。但是,如果用户编辑帖子然后添加输入,它就会保存并渲染。这表明它在连接器(可能是 composer 连接器)中某处中断了,但我无法弄清楚原因,因为它在我的本地实例中运行得非常完美。我有一些过滤输入的正则表达式,这可能是罪魁祸首吗?任何建议都非常感谢,谢谢!

1 个赞

在抽象层面很难调试这个问题,所以我将为您提供一些建议。解决此类问题的关键在于专注和排除法。首先弄清楚为什么您可以在生产环境中重现问题,但在开发环境中却不能。

  1. 插件和主题在生产环境和开发环境中是否完全相同?
  2. 您使用的是否是同一种用户(管理员、版主等)?
  3. 您是否在同一种主题中执行操作?
  4. 您是否以相同的速度执行操作?

首先尽您所能尝试在开发环境中重现问题,如果确实存在问题。专注于此,直到您获得结果或弄清楚它在生产环境中为何不同。

另外,主题自定义字段插件不适用于生产环境的部分原因是它没有任何测试。我知道您可能不喜欢听到这个消息,但您应该为组合器行为编写一些验收测试。这将为您提供关于它在特定场景下是否有效或无效的确切答案。

1 个赞

我不确定这是否有帮助,但问题似乎出在创建帖子时自定义字段未正确设置

确保在撰写器打开时为该字段分配默认值。

您也可以尝试暂时禁用正则表达式过滤器,以检查它是否导致任何验证问题。最后,请仔细检查自定义字段是否确实包含在初始保存期间发送的数据中。

2 个赞