数値のタグ、つまり 2026 を作成しようとすると、同じ ID 2026 を使用するタグが存在しない場合は正常に動作します。しかし、その ID が既に使用されている場合、2026 の代わりに既存のタグが表示されてしまいます。
これは以前から存在していたバグで、いつか修正されたはずだと確信しています。それとも私の記憶が間違っていて、数値のタグはそもそも使用すべきではないのでしょうか ![]()
いずれにせよ、私はこれをバグと見なしています。また、年をタグとして使用したいと考えています。
数値のタグ、つまり 2026 を作成しようとすると、同じ ID 2026 を使用するタグが存在しない場合は正常に動作します。しかし、その ID が既に使用されている場合、2026 の代わりに既存のタグが表示されてしまいます。
これは以前から存在していたバグで、いつか修正されたはずだと確信しています。それとも私の記憶が間違っていて、数値のタグはそもそも使用すべきではないのでしょうか ![]()
いずれにせよ、私はこれをバグと見なしています。また、年をタグとして使用したいと考えています。
数値タグはサポートされるべきであり、現在の正規URL形式はこの曖昧さを回避することを目的としています。
例えば、タグ名が 2026 でタグIDが 3 の場合、正規URLは以下のようになります。
/tag/2026/3
曖昧な形式は、古い/レガシーなURLです。
/tag/2026
これは「IDが 2026 のタグ」として解釈される可能性があるため、別のタグがそのIDを持っている場合、2026 という名前のタグではなく、その別のタグに解決される可能性があります。
タグを使用しようとしている、またはアクセスしようとしている場所は哪里ですか?リンクがDiscourse自身によって生成されている場合、正規の /tag/:slug/:id URLを使用すると予想されます。URLを手動で入力している場合、古い保存されたリンク、カスタムテーマ/プラグインリンク、またはインポートされた/サイドバー/カスタムURLを使用している場合、まだ曖昧なレガシー形式を使用しており、誤ったタグに解決される可能性があります。
可能であれば、/tag/:foo 内の :foo を常にスラッグとして扱い、ID の場合は /tag/:foo/:id という形式を要求すべきだと考えます。ここで :foo は任意の文字(例:不明または気にしない場合は - を使用)とします。
これにより、後方互換性が向上するだけでなく、スラッグは既知だが ID が不明なケース(タグでは名前が一般的に使用される参照となるため、よくあるケースです)にも役立ちます。
ID は現在、主にローカライゼーションのサポートのために存在しています。
通常、トピックを作成してタグを追加する際です。あるいは、単にタグを追加する際と言ってもよいでしょうか。
実世界の例。
トピックを書いている際、2013 というタグを作成しようとしたのですが、/tag/sahara/2013 であるため sahara が返ってきました。
前に質問しましたが
はい、セーフモードでも同じことが起こります。
つまり、
その通りで、少し前までその状況でした。
具体的な例をありがとうございます。問題を再現し、修正に取り組んでいます。
テスト中に、対応するIDがない数値タグも作成されないことに気づきました。(例:タグ 2939858339 を作成しようとすると、何も行わず、トピックにタグを付与しません)