嵌入式媒体帖子允许的群组与帖子审核工作流程冲突:取消隐藏!因 ActiveRecord::RecordInvalid 失败

“允许嵌入媒体帖子的群组”帖子取消隐藏工作流程之间存在冲突。

如果一个帖子是由在允许的媒体群组中的用户创建,随后被隐藏(通过标记),当版主编辑该隐藏帖子并添加媒体时,尝试取消隐藏该帖子将失败并出现以下错误:

ActiveRecord::RecordInvalid
Validation failed: 抱歉,您不能在帖子中嵌入媒体项。

取消隐藏过程使用原始作者的权限重新运行媒体验证,而不是版主的权限,从而导致取消隐藏失败。


重现步骤

  1. 配置允许嵌入媒体帖子的群组,排除低信任度的用户。
  2. 使用在允许群组中的用户创建帖子。
  3. 让帖子被系统标记隐藏。(我不太确定这一点——似乎帖子只能通过标记隐藏,而不能由工作人员手动隐藏?工作人员可以隐藏主题,但不能隐藏单个帖子。如果我错了,请纠正我。)
  4. 版主编辑隐藏的帖子并插入媒体(图片/视频)。
  5. 尝试取消隐藏帖子(通过用户界面或在 Rails 控制台中执行 post.unhide!)。
  6. 操作失败并出现以下错误:

ActiveRecord::RecordInvalid Validation failed: 抱歉,您不能在帖子中嵌入媒体项。