1

ユーザーがオンラインかどうかに大きく依存するコードがあります。

現在、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. したがって、利用可能であると考えていても、利用不可として表示されます。

ここで重要なことは、使用可能であることはデフォルトではないため、元に戻すことができるということです。これは、ユーザーがリクエストを受け取るために選択するものです。

このようなケースを処理する最善の方法を知っている人はいますか?

4

1 に答える 1