안녕하세요, Drupal 포럼에서 Discourse로 가져온 사용자의 비밀번호 재설정 이메일 문제를 도와주려 하고 있습니다. 기본 이메일 주소에 문제가 있어 프로필에 보조 이메일 주소를 추가했습니다. 하지만 사용자가 비밀번호 재설정을 요청하면 등록된 이메일이 없다고 표시됩니다. 그래서 보조 이메일을 기본으로, 기본 이메일을 보조로 바꾸어 보았지만, 변경 사항이 단순히 되돌려지고 적용되지 않습니다. 그리고 이제 Discourse가 저(관리자 및 модератор)에게 이메일을 변경하려고 할 때(문제의 원인을 배제하기 위해 Discourse 안전 모드에서 다른 브라우저를 사용했습니다) "이 작업을 너무 많이 수행했습니다"라고 알려줍니다. Rails 콘솔에서 이메일을 변경하는 팁을 찾았지만, email 대신 wmail이라고 적혀 있어 뭔가 이상해 보입니다:
그러면 오타 없이 시도해 보세요. ![]()
제이, 고마워. 작동하지 않는 것 같아:
SyntaxError: unexpected label, expecting ')'
..._id: u.id).first.update (email: "user@email.com")
... ^~~~~~
SyntaxError: unexpected ')', expecting end-of-input
...email: "user@email.com")
...
UI는 항상 사용자의 이메일 주소를 변경할 수 있도록 허용해야 하며, 관리자에 대한 속도 제한(rate-limit)도 적용되어서는 안 되므로, 이 문제를 버그로 재분류합니다.
Redis 캐시를 지우면 도움이 될까요?
거기에 오타가 두 개 더 있었습니다.
그렇지는 않을 것 같습니다.
제 추측으로는 이메일 주소를 대문자로 입력했거나, 보이지 않는 특수 문자가 포함된 채로 가져온 것 같습니다. 부계정을 추가하기보다는 다른 이메일로 변경해 보시는 것을 권장합니다.
음, 아니에요. 주소는 정상입니다. 이메일 클라이언트에 붙여넣고 해당 주소로 메시지를 보내 보았거든요. 기본 이메일을 변경해 보려고 했지만, 기본 이메일은 그대로 두고 보조 이메일은 미확인 상태로 뒤에 추가만 되고 있습니다.
안녕하세요, 정보가 부족해서 죄송합니다만, 정확히 어떤 정보가 부족했는지 솔직히 이해하지 못하겠습니다. 이전에 언급했듯이 안전 모드에서도 시도해 보았습니다.
이것이 예상된 동작인가요?
관리자에게는 절대 레이트 리미팅이 적용되어서는 안 된다고 생각합니다.
나에게는 이 방법으로 해결되었습니다
u=User.find_by_username("XXXXXX")
UserEmail.find_by(user_id: u.id).update(email: "XXXX@XXX.com")