He modificado un grupo existente y he establecido el valor de Nivel de confianza que se otorga automáticamente a los miembros cuando se agregan en 2, por lo que todos los miembros de este grupo serán promovidos al Nivel de confianza 2 cuando se agreguen al grupo:
Esta solución es avanzada. Los comandos de Rails solo se pueden ejecutar si tiene acceso SSH a su servidor y debe evitarse si no está seguro de lo que está haciendo. En cualquier caso, siempre haga una copia de seguridad primero.
Hola Richie
Puede usar un script de rails similar a este:
Eso debería funcionar desde la consola de 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
No estoy familiarizado con la consola de Rails en absoluto, pero ejecuté lo que publicaste aquí y ahora está en END y me muestra un cursor parpadeante:
No, esa es solo una salida que no tiene ningún efecto en la ejecución del script. Creo que puedes presionar q para salir.
También puedes usar esto:
Puede estar relacionado con la parte Group.find_by_name("test"). No sé si acepta el nombre real del grupo o el slug.
Además, debería haber mencionado que usar comandos de rails es bastante avanzado y se debe hacer una copia de seguridad antes de hacer este tipo de cosas. Me disculpo por eso.
Los grupos se actualizan durante un trabajo de Sidekiq.
La tarea es EnsureDbConsistency y se puede activar a través de Sidekiq, si sabes cómo hacerlo. También puedes esperar unas horas; los grupos se actualizarán automáticamente.
Solo fui un poco rápido al sugerir un comando de rails sin la advertencia adecuada, ya que puede salir mal si no sabemos realmente lo que estamos haciendo. Añadiré una advertencia más visible a mi publicación