同步组的成员资格与外部电子邮件地址列表

如果您没有通过某个外部应用程序管理这些用户,那么您可以这样做:

  def load_csv(path)
    CSV.parse(File.read(path), headers: true)
  end

  def update_group
   g = Group.find(43) # 您想要的任意群组 ID
   GroupUser.where(group_id: g.id).destroy_all
   user_emails = load_csv('/path/to/file')
    user_emails.each do |u|
      user = User.find_by_email(u['Email'])
      next unless user
      puts "找到用户 #{uid}"
      GroupUser.find_or_create_by(group_id: g.id, user_id: user.id)
    end
  end

如何实施则是另一个问题。也许可以开发一个插件。

或许可以开发一个插件,当用户在某个分类中发帖时,自动将其添加到对应的群组中?