在使用子文件夹配置时,当用户在类别后选择标签或在标签后选择类别,Discourse 会使用以下路由:
/[subfolder]/tags/[subfolder]/c/[category slug]/[category id]/[tag]
而不是:
/[subfolder]/tags/c/[category slug]/[category id]/[tag]
tag-drop.js 和 category-drop.js 都在调用 getCategoryAndTagUrl,该方法使用了 category.js#url —— 该属性通过调用 get-url.js#getURL 在路径前添加子文件夹 —— 以便在 /tags/ 之后进行拼接。tag-drop-link.js 也使用了相同的 url 方法。