2016-12-04 3 views
0

私はインデックスページを持っています。ユーザーがログインすると、データベースのすべてのテーブル(テーブルのボタン)が表示されます。テーブルには注文があります。つまり、ユーザーが表をクリックすると、注文の作成パスにリダイレクトされ、注文が作成されます。また、表に注文がある場合は、表示ページの注文にリダイレクトされます。各注文にはtable_idがあります。テーブルには、異なる色を表示することによって、現在ビジー状態であるかどうかが示されます。ボタンの色をリアルタイムで更新するにはどうしたらいいですか?

私がしたいことは、表のボタンの色をリアルタイムで変更することです。したがって、あるユーザーが注文を作成すると、他のユーザーは表の色が変わるとすぐにそれを見ることができます。どうすればこれを達成できますか?私はジェネラルサーバーとチャネルを研究していますが、私はまだこれらの概念に精通していません。これに関する提案はありますか?リアルタイムタイプの機能を達成するための2つの方法があります

+0

あなたは間違いなく正しい軌道に乗っています。基本的には、両方とも同じチャネルに接続したい場合、ユーザーがバックエンドで変更を行った場合は、登録したすべてのクライアントにメッセージを公開し、それに応じて更新します。 –

+0

@HarrisonLucasご意見ありがとうございます。今、私はページコントローラの下にあるテーブルショーページにテーブルをレンダリングします。私は 'tableshow:*'のためのチャンネルを作っていると思っています。そして、私はそれをuser_idにしたいと思っています...それは可能ですか?もしそうでなければ、テーブルショーチャンネルをデザインするためにちょっと凝った気がしますか?ありがとう –

答えて

0

事前に

おかげ

  1. あなたが継続的にあなたのサーバがhttps://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

  2. ここに見られるページの例の新しいコピーを求めてポーリングするのAjaxを使用することができます
  3. プッシャーとソケットのようなサービスを使用することができます。 https://pusher.com/tutorialsいくつかのチャットチュートリアルをチェックして、より理解しやすくしてください。

+1

この答えはほとんど正しいが、phoenixフレームワークにはソケットを扱う簡単な方法がある。彼らはそれらをチャネルと呼びます。チャンネルに関する何かがあなたを制限している場合を除き、おそらくそれらに固執したいと思うでしょう。 –

+0

私は個人的にチャネルを使用するlaravel echoを使用していますが、クライアントサイドのコードはアプリで聞くことができますが、大部分のフレームワークはリアルタイムで実装する独自の方法を持っていることに同意します。 – prola

関連する問題