我正在尝试记录当前在线的所有用户。
这是我尝试过的:
在我的“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?