특정 그룹의 모든 사용자에게 아바타 플레어를 부여하고 싶습니다.
이전에는 그룹 설정에서 플레어를 설정하고 “기본 그룹으로 자동 설정” 옵션을 체크하면, 그룹에 속한 모든 사용자의 아바타에 플레어가 자동으로 추가되었습니다.
하지만 지금은 사용자의 플레어가 기본 그룹과 연결되지 않는 것 같습니다. 사용자의 기본 그룹이 올바르게 설정되어 있는지 확인했지만, 아바타에는 여전히 플레어가 표시되지 않습니다.
여기저기 살펴보던 중, 사용자 설정 페이지에 사용자가 직접 자신의 플레어를 선택할 수 있는 새로운 설정이 추가된 것을 발견했습니다.
이 설정이 추가되면서 사용자의 기본 그룹과 아바타 플레어 간의 연결이 깨진 것으로 추측됩니다.
질문: 현재 그룹 내 모든 사용자에게 플레어를 일괄 지정할 수 있는 방법이 있을까요? 그룹에 메시지를 보내서 설정 방법을 안내하는 것도 원치 않고, 사용자별로 들어가서 설정을 하나씩 수정하는 것도 원치 않습니다.
nathank
(Nathan Kershaw)
2
이것은 그룹 멤버들이 그룹 아바타를 사용하도록 강제합니다:
rails c
target_group = Group.find_by_name("=GroupSlug=")
users = User.joins(:group_users).where(group_users:{group_id: target_group.id})
users.each do |u|
u.flair_group_id = target_group.id
u.save
end
Exit
위 PR에서 이 문제에 대한 수정 사항을 추가했습니다.
nathank
(Nathan Kershaw)
5
방금 다시 시도해 봤습니다.
기본 그룹 설정을 변경해도 사용자의 플레어가 그룹 플레어로 업데이트되지 않는 것 같았습니다. 위의 수정 사항이 여전히 제대로 작동하고 있나요?
좋은 소식은, 위에서 공유한 작은 Rails 콘솔 코드 스니펫을 개선해서 이제 그룹 슬러그만 있으면 된다는 점입니다(여전히 정상 작동하는 것도 확인했습니다!).