我的代码很大程度上取决于用户是否在线。
目前我已经像这样设置了 ActionCable:
class DriverRequestsChannel < ApplicationCable::Channel
def subscribed
stream_from "requests_#{current_user.id}"
end
def unsubscribed
current_user.unavailable! if current_user.available?
end
end
现在我最想介绍的是用户只是关闭浏览器而不是离线的情况。然而,取消订阅的问题是它会进行页面刷新。因此,每次他们刷新页面时,他们都会触发unsubscribed
. 因此,即使他们认为它们可用,它们也会被设置为不可用。
现在关键是可用不是默认设置,所以我可以把它放回去,这是用户为了接收请求而选择的。
有没有人有处理此类案件的最佳方式的经验?