跟踪Volt

时间:2016-03-31 05:22:18

标签: ruby voltrb

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

这是我尝试过的:

  • 在我的“main_controller”中:

    channel.on('connect'){puts“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是零,除非有人通过身份验证系统登录。

我的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?

0 个答案:

没有答案