예약된 사용자에게 커스텀 이미지를 추가할 수 없습니다

저희 사이트와 정기적으로 상호작용하는 몇몇 스테이징 사용자가 있습니다. 그중 일부는 자동화된 이메일(예: Digital Ocean, AWS 등)에서 온 것입니다. 메시지 수신함에 이러한 사용자가 쉽게 식별되도록 하면 좋겠습니다.

Digital Ocean은 그라바타(Gravatar)를 보유하고 있으며, 스테이징 상태임에도 불구하고 아바타에 매우 유용한 이미지가 적용되어 있습니다:

하지만 커스텀 이미지(이 경우 AWS에)를 추가하려고 하면 다음과 같은 메시지가 표시됩니다:

그라바타를 사용할 수 있다면, 왜 커스텀 이미지는 안 될까요?

2개의 좋아요

Gravatar는 이메일 주소에서 가져오지만, 사용자 정의 아바타는 사용자로부터 가져와야 합니다. 그런데 해당 사용자가 스테이징 상태이므로 불가능합니다. 그리고 관리자 사용자가 스테이징 상태 사용자의 아바타를 변경할 수 있는 시스템을 만든 사람은 아무도 없습니다.

추측일 뿐이지만, 이미 그 가능성을 알고 계셨을 것입니다.

2개의 좋아요

이 문제에 대한 임시 해결책이 있습니다. 먼저 백업한 후 rails 콘솔에 접근해야 합니다:

서버에서

cd /var/discourse
./launcher enter app
rails c

사용자 변환

그런 다음 사용자를 변환하여 더 이상 스테이지드(staged) 상태가 아니게 만듭니다:

변환할 스테이지드 사용자의 이메일 주소

User.find_by_email("=EMAIL=").update(staged: false)

프로필 사진 업로드

:up_arrow: 다른 사용자와 동일한 방식으로 수행합니다

다시 스테이지드 상태로 변환

실제로 사용자를 ‘스테이지드’ 상태로 유지해야 하는 경우가 아니라면 불필요할 수 있습니다.

User.find_by_email("=EMAIL=").update(staged: true)

완료! 콘솔에서 나서는 것을 잊지 마세요.

(아직까지는) 이 방법으로 문제를 겪지 않았지만, 아무런 보장도 드릴 수 없습니다!

2개의 좋아요

솔직히, 스테이징 상태의 사용자에게 아바타를 설정할 수 있도록 관리자에게 권한을 부여하는 것의 단점을 생각해 볼 수 없습니다.

이 이슈에 pr-welcome 라벨을 붙일 예정입니다.

1개의 좋아요