現在オンラインになっているすべてのユーザーの記録を作成しようとしています。
これが私が試したことです:
私の「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
リストに約 10 個のエントリが表示されたことです。それらをすべて削除したいのですが、うまくいきません。私はもう試した:
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 を作成するにはどうすればよいですか?