4

我正在尝试记录当前在线的所有用户。

这是我尝试过的:

  • 在我的“main_controller”中:

    channel.on('connect') { 将 "ON"; store._online_users << Volt.current_user.to_h } channel.on('disconnect') { puts "OFF"; store._online_users.delete(Volt.current_user.to_h) }

在我的“main.html”中:

  {{store._online_users.each do |user| }}
    {{user.to_h}} <br>
  {{end}}

问题是,在测试时,我最终在store._online_users列表中有大约十几个条目。我想将它们全部删除,但无法正常工作。我试过了:

  • store._online_users.clear 没有效果
  • store._online_users.each(&:destroy) 没有效果
  • store._online_users = [] 没有效果

编辑

所以,自从最初发布这个问题以来,我意识到这Volt.current_user是 nil ,除非有人通过身份验证系统登录。

我的 中仍然存在不可删除记录的问题store._online_users,所以我正在尝试不同的密钥。

我尝试了以下方法,但store._current_users始终为空:

  channel.on('connect') {
    Volt.current_user.then { |user|
      unless user.nil?
        store._current_users << user
      end
    }
  }
  channel.on('disconnect') {
    Volt.current_user.then { |user|
      unless user.nil?
        store._current_users.delete(user)
      end
    }
  }

我将如何制作一个包含所有当前在线用户的 ModelArray?

4

0 回答 0