(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 문서가 있습니다.

도와주셔서 감사합니다! 바로 확인해 보겠습니다.