(Ruby) 投稿者本人ではない投稿のみを選択する

皆さん、こんにちは!

最近、コミュニティでボランティアを始めたのですが、既存のプラグインの更新を任されました。このプラグインは現在、トピックの投稿数が特定の単語数の閾値に達すると、トピックのタグを変更するものです。これを、トピック作成者の投稿を除くトピック内の投稿からの単語数だけカウントするように変更する必要があります。

現在の単語数の算出は、以下のスニペットで行われています。

replies = topic.posts.where('post_number > 1')
reply_word_count = replies.sum(:word_count)

私の考えでは、戦略は以下のようになります。

non_op_replies = topic.posts.where('post.user.username != topic.user.username')
reply_word_count = non_op_replies.sum(:word_count)

しかし、これがうまくいかないようです。しばらく構文いじりを試みましたが、動作するプラグインが作れません。Discourse で Ruby を使って開発するためのドキュメントを探してみましたが、見つかりませんでした。誰かお手伝いいただけないでしょうか、あるいは正しい方向へ導いていただけないでしょうか。Ruby も初心者ですので、単純なミスの可能性もありますが、あらかじめお詫びしておきます。

ようこそ!:partying_face:

私も Ruby の初心者ですが、始めるには このチュートリアル がとても役立ちました。

Discourse プラグインの開発に関する 7 部構成のシリーズをご紹介します。必ずしも探している内容とは一致しないかもしれませんが、Discourse プラグインの構造を理解するための良いリソースです。

私個人としては、例を通じて学び、各ステップをログに記録するのが最も効果的です。そのため、Rails.logger と、localhost:3000/logs からアクセスできる Discourse の logster は非常に役立ちます。

もし勇気があるなら、ご自身で探求してみてください。Discourse コアに関する Ruby ドキュメントはこちらにあります。

ご協力ありがとうございます!早速確認させていただきます。