Então pessoal, eu tenho um fórum, e nesse fórum eu sou o único admin e dono! Acontece que quando eu fiz esse site eu usei um email chamado REDACTED esse email eu usei através do cpanel da TMD hosting, aconteceu que eu não uso mais os serviços da tmd hosting e fui para a digital ocean e eu nem lembrava que meu email de adm era esse, não troquei! Acontece que agora eu fui passar a administração para outra conta minha no fórum e o fórum me pede para entrar na minha conta REDACTED e confirmar que eu quero passar o admin para outra conta, mas eu não consigo mais acessar o cpanel da tmd hosting para acessar o REDACTED, o que eu faço?
Entrei em contato com a TMD hosting e fui informado que meu e-mail REDACTED não existe mais, e que apenas comprando um novo servidor poderei ativá-lo, mas e o meu admin do fórum? ficarei para sempre preso a este e-mail REDACTED? não há como eu mudá-lo, mesmo tendo a senha de tudo no meu próprio fórum?
obrigado por me responder, mas agora surgiu outro problema que, mesmo seguindo alguns tutoriais, não consigo encontrar! Como faço para ver o ID do usuário?
Você precisa seguir o guia mais de perto. Você está perdendo as etapas em que Entra no contêiner e, em seguida, Acessa o Console do Rails antes de executar os próximos comandos.
No entanto, eu também sugiro fazer um backup do seu site antes de se aprofundar mais. O passo a passo no guia certamente facilita, mas se você não está familiarizado com o console do Rails, acidentes podem acontecer. Você não vai querer estragar nada sem ter um backup recente à mão.
Não entendi o que está errado na sua descrição. Certifique-se de que não há espaço em branco após o endereço de e-mail. Mas recomendo criar um novo usuário administrador com
rake admin:create
Em seguida, remova os privilégios de administrador e moderador do usuário cujo endereço você deseja atualizar. Depois, você pode tornar esse usuário um administrador novamente.
Coloquei isso antes de qual etapa? De qualquer forma, agora está aparecendo
root@ForumPandex:~# cd /var/discourse
root@ForumPandex:/var/discourse# ./launcher enter app
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
root@ForumPandex-app:/var/www/discourse#
root@ForumPandex:~# cd /var/discourse
root@ForumPandex:/var/discourse# ./launcher enter app
x86_64 arch detectado.
AVISO: O arquivo containers/app.yml é legível por qualquer pessoa. Você pode proteger este arquivo executando: chmod o-rwx containers/app.yml
root@ForumPandex-app:/var/www/discourse# rails c
[1] pry(main)> u = User.find_by_username "=dex="
=> nil
[2] pry(main)> e.email = "EMAIL"
NameError: undefined local variable or method `e' for main:Object
from (pry):2:in `__pry__'
[3] pry(main)> u.email = "EMAIL"
NoMethodError: undefined method `email=' for nil:NilClass
from (pry):3:in `__pry__'
[4] pry(main)> u.email_tokens.create(email: u.email)
NoMethodError: undefined method `email_tokens' for nil:NilClass
from (pry):4:in `__pry__'
[5] pry(main)> u.save!
NoMethodError: undefined method `save!' for nil:NilClass
from (pry):5:in `__pry__'
[6] pry(main)>
Eu movi suas postagens para cá para manter todas as informações do problema em um só lugar, para que as pessoas possam encontrá-las mais facilmente para ajudá-lo.
Apenas para observar também, você deve considerar não revelar seu e-mail de administrador em suas solicitações de ajuda. Um de nossos especialistas da comunidade está editando-o de suas postagens conforme você avança, mas seria mais fácil se não fosse incluído.
Parece que você descobriu como chegar ao console do Rails. Mas parece que você incluiu os sinais = de espaço reservado ao inserir o nome de usuário. Você deve inserir o nome de usuário sem eles.
Embora @pfaffman tenha sugerido um método alternativo caso este se mostre muito complicado:
Se você criar um segundo administrador, isso permitirá que você remova os privilégios de administrador da conta da qual deseja alterar o endereço de e-mail e remova a restrição de segurança de precisar de confirmação por e-mail do endereço de e-mail antigo. Você pode então alterar o e-mail da conta original usando o novo administrador, antes de conceder novamente os privilégios de administrador.
Você não inseriu o nome de usuário nos campos em branco no tópico que contém o código, então o que deveria ser o nome de usuário é, em vez disso, o texto que é o espaço reservado.
u = User.find_by_username "=dex="
Deveria ser.
u = User.find_by_username "dex"
Se “dex” é o nome de usuário. O fato de retornar nil em vez do registro do usuário é sua indicação de que você não tem um registro de usuário. Como você não entende esses conceitos básicos, recomendo fortemente criar um novo usuário, como sugerido anteriormente. Isso permitirá que você trabalhe com ferramentas mais familiares.