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