Modifiquei um grupo existente e defini o valor de Nível de confiança concedido automaticamente aos membros quando são adicionados para 2, para que todos os membros deste grupo sejam promovidos para o Nível de Confiança 2 quando adicionados ao grupo:
Esta solução é avançada. O comando Rails só pode ser executado se você tiver acesso SSH ao seu servidor e deve ser evitado se você não tiver certeza do que está fazendo. Em qualquer caso, sempre faça um backup primeiro.
Olá Richie
Você pode usar um script rails semelhante a este:
Isso deve funcionar no console rails:
target_group = Group.find_by_name("test")
users = User.joins(:group_users).where(group_users:{group_id: target_group.id})
users.each do |u|
u.trust_level = 2
u.save
end
Não, essa é apenas uma saída que não tem efeito na execução do script. Acredito que você possa pressionar q para sair.
Você também pode usar isto:
Pode estar relacionado à parte Group.find_by_name("test"). Não sei se aceita o nome real do grupo ou o slug.
Além disso, eu deveria ter mencionado que usar comandos do rails é bastante avançado e um backup deve ser feito antes de fazer esse tipo de coisa. Peço desculpas por isso.
Mas, se eu olhar para o grupo de usuários TL2, o número total de usuários no grupo não aumentou
Da mesma forma, se eu procurar por um dos usuários que acabaram de ser promovidos para TL2, eles não aparecem nos resultados da pesquisa para o grupo TL2:
Os grupos são atualizados durante um job do Sidekiq.
A tarefa é EnsureDbConsistency e pode ser acionada através do Sidekiq, se você souber como fazer isso. Você também pode esperar algumas horas; os grupos serão atualizados automaticamente.
Eu fui apenas um pouco rápido demais ao sugerir um comando do rails sem o aviso adequado, pois pode dar errado se não soubermos realmente o que estamos fazendo. Adicionarei um aviso mais visível à minha postagem