我想为组内的所有用户分配头像标识。
过去,我可以在组设置中设置标识,勾选“自动设为主要组”选项,组内所有成员就会自动获得添加到其头像的标识。
但现在,用户的标识似乎不再与其主要组关联。我可以确认用户的主要组设置正确,但其头像仍未显示标识。
在四处查看时,我注意到用户偏好设置页面中新增了一个选项,允许用户自行选择标识。
我推测,该偏好设置的加入破坏了用户主要组与其头像标识之间的关联。
问题: 现在是否有任何方法可以批量为组内所有用户分配标识?我不想向该组发送消息并指导他们所有人如何在偏好设置中进行设置,也不想逐个手动更新每个用户的偏好设置。
nathank
(Nathan Kershaw)
2
这强制要求组成员使用组头像:
rails c
target_group = Group.find_by_name("=GroupSlug=")
users = User.joins(:group_users).where(group_users:{group_id: target_group.id})
users.each do |u|
u.flair_group_id = target_group.id
u.save
end
退出
nathank
(Nathan Kershaw)
5
我刚才又试了一下。
我注意到更改主群组设置似乎没有更新用户的标识到群组标识。上面的修复是否仍然有效?
从好的方面来看,我改进了上面那个小小的 Rails 控制台代码片段,这样你只需要群组的 slug(并且确认它仍然有效!)。