トピックに他の4つのタグのいずれかが存在する場合にタグを追加する必要があります

皆さん、こんにちは。

最近フォーラムを再構築し、タグを活用し始めました。

苦労していることの一つに(ネイティブではないことは承知していますが、簡単なプラグインがあるかもしれません?)、「sync1」「sync2」「sync3」「sync4」のいずれかのタグが付いた新しいトピックが作成された場合に、「apim」タグも追加する必要があるのですが、これを実現する方法をご存知の方はいらっしゃいますか?

残念ながら、私のRubyのスキルは不足しています。
以下の両方を見ました。

および

しかし、これらの例が現在行っているチェックの代わりに、トピックに4つのタグのいずれかが存在するかどうかを単純にチェックするように、これをどのように適応させることができるか確信が持てません。

基本的に、ピンクのタグのいずれかがトピックに存在する場合、緑のタグも自動的に追加される必要があります。

DiscourseEvent.on(:topic_created) do |topic|
  guardian = Guardian.new(Discourse.system_user)
  required_tag_names = [”sync1”, “sync2”, “sync3”, “sync4”]
  DiscourseTagging.tag_topic_by_names(topic, guardian, [\"apim\"], append: true) if topic.tags.exists?(name: required_tag_names)
end

このコードが必要です:arrow_up:

編集:タググループを追加し、「apim」を親タグとして設定することでも強制できます。その場合、ユーザーは親タグ「apim」を選択した後でのみ「sync」タグを選択できます。


子タグを選択できるようにし、親タグを自動的に追加する方がより便利だと思います🤷ほとんどのエンドユーザーは親タグの要件について知らないでしょう。

「いいね!」 2

素晴らしい、通常は自分でこれらのことを解決しようとしますが、Rubyは私の専門ではないので、誰かが数分で例を挙げてくれるだろうと思っていました :slight_smile:

これで、これをプラグインに追加する方法を見つけるだけですが、それはかなり簡単だと思います。

親を追加する子タグを選択することが望ましい結果になる場合があることに同意します。

ご協力ありがとうございました。

編集:プラグインが作成され、意図したとおりに動作しました。ご協力ありがとうございました!

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.