支持创建预填充主题链接

一个问题。

我实现了一个主题组件,它有一个按钮,点击该按钮可以打开预先填充了内容和标题的新主题表单。如下所示:

https://www.mydomain.com/new-topic?title=${title}&body=${body}

它运行良好,打开了新主题表单,但如果我不想继续,点击“丢弃”
这不会丢弃主题,而是将其保存为草稿……
因为我点击了“丢弃”,我不想让它成为草稿,以后还得清理草稿

想知道使用这个 new-topic URL 是否是预期的行为?
有没有办法在选择丢弃时不要将其保存为草稿。

谢谢。

如何重现:

  1. 在主题组件中,添加一个按钮,其引用设置为如下所示的新主题 URL
const topicBody = `.....`;
const title = "....";

// 新主题的 URL
const createTopicUrl = `https://www.mydomain.com/new-topic?title=${title}&body=${topicBody}`;

const createTopicLink = `<span><a href="${createTopicUrl}" rel="noopener noreferrer">new topic</a></span>`;

const meta = `<div>${publisher}${pub_date} ${createTopicLink}</div>`;

const description = `<p>${description}</p>`;

// 将“新主题”按钮添加到 UI
return `<li class="news-item"><hr><div class="news-title"><a href="${url}" target="_blank">${title}</a></div>${meta}${description}</li>`;
  1. 点击“新主题”按钮,看到新主题表单已打开并预先填充了标题和内容。
  2. 点击丢弃,确认
  3. 检查“我的帖子”,它确实有一个关于这个被丢弃的新主题的新草稿..

我在这里的 Meta 上似乎无法重现此问题。这在安全模式下会发生吗?您的实例是什么版本?谢谢。

我的实例版本是 2026.1.0

在使用系统内置体验新建主题时,如果选择放弃,它不会将其保存为草稿。

我的情况是,我将新主题的 URL 挂载到了一个在主题组件中添加的按钮上。
不确定为什么这与内置体验不同……

1 个赞

嘿,Nate

copilot 在下面解释了这一点,
如果这是真的,想知道是否可以在 URL 中添加一个参数来阻止这种情况,那将很棒
比如 &auto_save=false
感谢您的帮助。

是的,这在 Discourse 中是预期的。通过 new-topic URL(带有预填充的标题/正文)打开撰写器会在撰写器初始化时立即创建一个草稿。即使您点击“丢弃”并确认,Discourse 仍可能会为该路由保留一个草稿条目,以便以后可以恢复内容。该行为来自核心撰写器/草稿自动保存逻辑,而不是您的 URL 格式。

如果您想避免草稿,则需要一种自定义方法(例如,打开一个模态框、复制到剪贴板或使用草稿键覆盖调用撰写器 API),但纯粹的 new-topic URL 总是会启用草稿自动保存。

我不确定这是否准确 :person_shrugging:。我在 Meta 上的安全模式下无法重现此问题。我猜你使用的是论坛的稳定版/ESR 版本?

嘿,Nate,是的,我对 Gemini 的那个答案也不确定。

有趣的是,我今天再也无法重现它了。我的主题组件在那部分没有任何变化。

谢谢你的帮助,如果发现更多情况会再发帖……

1 个赞