(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)

但这似乎不起作用。我一直在调整语法,却始终无法得到一个可正常运行的插件。我一直在尝试查找关于使用 Ruby 开发 Discourse 插件的文档,但收获甚微。如果有人能帮我一把或指点一下方向,我将不胜感激。我也是 Ruby 新手,如果这只是个低级错误,还请见谅。

欢迎加入!:tada:

我也是 Ruby 初学者,发现 这个教程 对入门非常有帮助。

这里有一个关于开发 Discourse 插件的七部分系列文章,虽然可能不完全符合你的需求,但它是理解 Discourse 插件结构的优质资源。

就我个人而言,通过实例和记录每一步来学习效果最好,因此 Rails.logger 以及可通过 localhost:3000/logs 访问的 Discourse 的 Logster 对此非常有帮助。

如果你愿意大胆探索,以下是 Discourse 核心部分的 Ruby 文档链接:

感谢您的帮助!我马上查看这些内容。