「タグが無効」— 特定のプラグインが原因の可能性

タグが1つの場合は問題なく動作しますが、複数のタグを付けると、投稿ができず、そのエラーメッセージが表示されることがあります。

投稿後は、好きなだけタグを追加して編集できますし、場合によってはそのまま投稿できることもあります。

バックエンドで変更する必要がある設定はありますか?不規則に発生することから、ユーザーが一度に複数のタグを作成できない、または既存のタグがある状態で新しいタグを作成できないのかもしれません。

他にも同様の現象に遭遇した方はいますか?

チケットプラグインとタググループ、どちらをお使いですか?私はチケットタグを別の場所で使おうとしたときに、同じようなことが起こることがあります。

タグに関するカテゴリ設定はありますか?エラーを発生させているタグに共通点は見つかりましたか?再現できる場合は、ログや開発者コンソールを確認してみましたか?セーフモードでも発生しますか?

返信ありがとうございます。私はどちらのプラグインも使用していません。

サイト内にいくつか同じタグが重複して存在しており、それが問題の原因のようですが、他のタグと組み合わせた場合のみ発生します。'web-dev’タグの両方は同一です。

コンソールに表示されたエラーコードは以下の通りです:

POST Public Happiness 422

「web-dev」タグを2つ作成したのはどうしてですか?:thinking:

それ私も知りたいですね、ニール :upside_down_face:

一般的には、投稿を作成する際にタグを作成しています。

タグを使用するプラグインがいくつかありますが、そのいずれもが ‘web-dev’ をタグとして定義しているわけではありません。ただし、過去に定義していた可能性はあります。当社のメニューリンクコンポーネントは ‘web-developers’ を使用しています。

こんにちは、アンディ!いやあ、こんなにも苦労しているなんて、ごめんね。あなたのサイト Public Happiness のタグページへのリンクが少し助けになっていると思うよ。ご覧の通り、そこには奇妙な問題がいくつもあるんだね……タググループがないのは、それでわかった。名前順(アルファベット順)にソートすると、D の後に空白のタグが表示されているのが見えるはずだ。かなり奇妙で、何か大きな問題を示唆しているね。

安全モードで、公式プラグインのみが有効でテーマのカスタマイズが無効になっている状態で、同じ問題が発生していることを確認できますか?

使いたくない非公式のタグプラグインを app.yml から削除またはコメントアウトして、インスタンスを再構築しましたか?もしかしたら、それらがまだ何らかの影響を与えているかもしれません。

私が推測するに、空白のタグは、明らかに奇妙でタグページに複数回表示されているものも含め、複数のタグを保存しようとして問題が発生するたびに発生しているようです。これをテストするには、タグページを読み込んで再度再現を試み、新しい空白タグが追加されるかどうかを確認してください。

上記に加えて……もし私があなたなら、まずタグの手入れから始めるでしょうね。:slight_smile: 一般的に、こんなに多くのタグを持つ必要はありませんし、特に1回しか表示されない可能性のあるタグは避けるべきです。タグページからタグを削除したり、統合したりできます。重複して表示されているタグは削除するか、新しい一時的なタグに統合し、元のタグが削除されたことを確認してから、希望するタグ名に戻すことをお勧めします。

この状況下では、タグ名を使用する UI は予期せぬ動作をする可能性があります。重複するタグレコードと、名前の空白のタグをすべて削除するには、Rails コンソールを使用する必要があります。その後、これらの問題を引き起こしているプラグインのバグを確認してください。また、重複するタグ名を防止するためのインデックスが tags テーブルから欠落している可能性があります。

@syl、これは Docuss のバグから来ている可能性はありますか?タグの扱いが不自然に動作しているようです。使用されていないタグを削除するオプションがあり、その約半分が Docuss タグでした。残りは削除された投稿からのものであるようです(空白のタグは含まれていません)。

@Andy02:

  1. /tags ページの空白タグは Docuss が原因です。その理由を説明するドキュメントのセクションを直ちに追加しました。管理者であれば、Alt+a キーを使用して空白タグを表示させ、問題の切り分けを容易に行うことができます。

  2. Docuss が重複タグや「Tag is Invalid(タグが無効です)」というメッセージに関連しているとは考えられません。Docuss を無効にして、「Tag is Invalid」というメッセージが消えるか確認してください。もし消える場合は、Docuss リポジトリで issue を提起してください。

これで隠しタグや空白タグの問題は解決しました。しかし、その動作は依然として発生しているため、別の要因が原因であるはずです。引き続き調査中です。

はい、原因は特定できていませんが、現時点で見つかったことを共有します。

このエラーは、すべてのプラグインを有効にしたセーフモードでも発生し、テーマを無効にしても発生します。これは、ストック(標準)インストール自体にバグがあるという意味ではありません。おそらく、いずれかのプラグインが重複したタグをデータベースに追加し、そのタグがそのまま残って、プラグインが無効化されても問題を引き起こしている可能性が高いです。

修正のため、重複したタグを検索して別のものに変更しています(例:‘web-dev’ を ‘webdev’ に変更)。

いくつかのタグは「投稿」として設定されているのにリストに表示されていないことに気づきました。そのため、サイトは「web-dev」タグが12件残っていると表示しますが、検索機能ではそれらを見つけることができません。

多くの投稿では、タグ入力欄に同一のタグが重複して入力されており、一方を削除するともう一方も削除されてしまいます。

現時点での最良の推測ですが、問題を引き起こしているタグは投稿本文内にもリンクとして埋め込まれているようです。つまり、投稿の本文に #web-dev と入力するとタグが生成され、そのタグがすでに投稿タイトルに含まれている場合、重複が生成されるのではないかと思われます。

この現象を意図的に発生させて観察しようとしています。

しかし、他にも何か起きているようです。こちらの検索結果を見ると、一番上の投稿にはすでに ‘web-dev’ という文字が含まれていないはずなのに(変更済み)、検索機能はどこかにあると認識しています。

編集:最後の部分は無視してください。検索機能が賢く反応していただけでした。こちらの検索

更新:まだ不具合が続いています。見つかった唯一の重複タグは「web-dev」です。私や検索バーで見つかるすべてのタグを削除しました。これでそのタグを使って投稿をすると、「無効」というエラーメッセージが出るのではなく、投稿が成功するようになりました。しかし、他の3つのタグ(システムがフォラムのどこかにあると教えているもの)を探そうとして「web-dev」タグをクリックすると、404エラーが表示されます。これらが投稿内にあるのか、それともデータベース内の何らかの影(ダミーデータ)なのか、よくわかりません。

こちらが、私がフォラムから丹念に削除した「web-dev」タグを使って作成したテスト投稿です。この段階で、データベース上で直接このタグを削除する必要があるでしょうか?(他に問題を引き起こしているタグは見当たりません)。

はい、サイトの検索でその「web-dev」タグを削除し、「未使用タグの削除」ツールを使用することで、現在は修正されたようです。

今後他の方の参考になるよう、何が原因だったのか確実にお伝えできず残念ですが、再び発生しないか注意して見ておきます。

皆さんが編集したタイトルを私が編集しました。どのプラグインが原因かはわかりません。実際、おそらく除外できるのは Docuss だけです。作者が直接来て、自分のコードが原因かどうかを確認しましたが、違うだろうとのことでした。