# 토픽에서 게시자의 모든 그룹 찾기

**URL:** https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377
**Category:** Development
**Created:** [6월 10, 2024, 11:55오전 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377 "2024-06-10T11:55:25Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Lumi](https://avatars.discourse-cdn.com/v4/letter/l/b38774/32.png) [@Lumi](https://meta.discourse.org/u/Lumi)
#### Post date: [6월 10, 2024, 11:55오전 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377/1 "2024-06-10T11:55:25Z")

</div>

토론의 모든 게시물(사용자 이름 아래)에서 해당 사용자의 모든 그룹에 대해 작은 플레어(flair)를 표시하고 싶습니다. 기본 기능은 작동하지만, 게시물을 작성한 사용자의 그룹을 찾는 부분에서 막혔습니다. post-meta-data 위젯의 attrs에는 사용자의 일부 세부 정보가 있지만, 그룹은 포함되어 있지 않습니다. 게시물 직렬화기(post serializer)에 그룹을 추가해야 할 것 같은데, 어떻게 해야 하는지 확실하지 않습니다.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [6월 10, 2024, 2:34오후 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377/2 "2024-06-10T14:34:00Z")

</div>

안녕하세요,

전문가는 아니지만 – 플러그인에서 게시글 직렬화기(post serializer)에 `groups` 필드를 추가할 수 있습니다. 다음과 같은 방식으로요:

```ruby
add_to_serializer(
    :post,
    :groups
) { object.user&.groups }

```

다만, _주의할 점_은 현재 상태에서는 누구나 특정 사용자가 어떤 그룹에 속해 있는지 볼 수 있다는 것입니다.  
그럼에도 불구하고, 플레어(flair)를 사용하고 있다면 권한과 관계없이 누구나 그룹 이름이 보일 것이라고 생각합니다.

대신, 필요한 필드만 반환하도록 `available_flairs`라는 새로운 필드를 삽입할 수도 있습니다:

```ruby
add_to_serializer(:post, :available_flairs) do
  flairs = Array(object.user&.groups&.map do |group|
    next unless group.flair_url
    {
      id: group.id,
      name: group.name,
      url: group.flair_url,
      bgColor: group.flair_bg_color,
      color: group.flair_color
    }
  end).compact

  flairs
end

```

 ![NVIDIA_Share_7Q7BH3rvRa](https://global.discourse-cdn.com/meta/original/4X/8/f/1/8f1579dbf7af1b8e556e7a02ca974e407acc75c6.png)

도움이 되길 바랍니다. 👍

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [6월 10, 2024, 3:41오후 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377/3 "2024-06-10T15:41:01Z")

</div>

이 컴포넌트는 게시글 작성 시 게시글에 플레어를 추가하는 용도로 사용할 수 있을지도 모릅니다.

> [@현재 사용자의 그룹에 대한 CSS 클래스](https://meta.discourse.org/t/css-classes-for-current-users-groups/226068):
>
> discourse2Summary CSS Classes for Current User’s Groups adds the groups that a member is a part of as CSS classes on the \<body\> tag.eyeglassesPreview [Preview on theme-creator.discourse.org](https://discourse.theme-creator.io/theme/Johani/user-groups-css-classes)hammer_and_wrenchRepository Link [https://github.com/discourse/discourse-groups-css-classes-in-body](https://github.com/discourse/discourse-groups-css-classes-in-body)open_bookNew to Discourse Themes? [Beginner’s guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) Install this theme component Before: [image] After: [image] Discourse only adds the current us…

---

<div class="post-metadata">

### Author: ![Lumi](https://avatars.discourse-cdn.com/v4/letter/l/b38774/32.png) [@Lumi](https://meta.discourse.org/u/Lumi)
#### Post date: [6월 10, 2024, 5:05오후 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377/4 "2024-06-10T17:05:36Z")

</div>

두 번째 해결책이 제가 찾는 바로 그 방법인데, 작동하지 않습니다. 어째서인지 available\_flairs 배열이 아예 표시되지 않습니다. 코드를 plugins.rb 파일에 넣어야 한다는 제 추측이 맞나요?

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [6월 10, 2024, 5:29오후 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377/5 "2024-06-10T17:29:26Z")

</div>

_post-meta-data_ 컨텍스트에 표시하려면 API를 사용하세요. 이렇게 하면 작동합니다!

```js
api.includePostAttributes("available_flairs");

```

---

<div class="post-metadata">

### Author: ![Lumi](https://avatars.discourse-cdn.com/v4/letter/l/b38774/32.png) [@Lumi](https://meta.discourse.org/u/Lumi)
#### Post date: [6월 10, 2024, 5:56오후 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377/6 "2024-06-10T17:56:41Z")

</div>

이렇게 하니 잘 작동했어요. 도움 주셔서 감사합니다!

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [7월 10, 2024, 5:57오후 UTC](https://meta.discourse.org/t/finding-all-groups-of-the-poster-in-a-topic/311377/7 "2024-07-10T17:57:28Z")

</div>

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