問題タブ [actioncable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3847 参照

ruby-on-rails - Action Cable (Puma ポートリッスン) を使用しながら、Ruby on Rails アプリを Heroku にデプロイする

Action Cable がローカル ホスト環境で動作していて、この状況で、以下を含む単純なファイルを使用して Puma サーバーを起動します。

これが発生すると、puma サーバーが起動し、この 28080 ポートとローカル サーバーが実行されているポートをリッスンします。オンラインで探しても、herokuでこれをエミュレートする方法や、サーバーを常に同じポートで起動する方法を教えてくれる場所を見つけることができませんでした(ただし、それが望ましい結果をもたらすかどうかはわかりません)

そのポートに関連するコンシューマーを作成するための JavaScript ファイルをセットアップしました。

herokuへのデプロイも機能させるには、127.0.0.1の部分も変更する必要があると思いますが、よくわかりません。28080 の部分を切り取り、それを ENV['PORT'] に置き換えようとしましたが、ポートが

したがって、herokuログを確認すると、ENV ['PORT']が定義されているように見えました。

不明な点がありましたら申し訳ありません。省略した場合は、さらに情報を提供していただければ幸いです。

編集

/app/assets/javascripts/channels/index.js.erb の更新されたコードは次のとおりです。

ENV["CABLE_SERVER"] が指す場所ws://the-action-cable-server.herokuapp.com。この変数は、Rails サーバーの環境変数に格納されます。

0 投票する
3 に答える
6111 参照

ruby-on-rails - ActionCable 接続の認証

SPA の優れたソリューションである素晴らしい ActionCable gem を見つけました。

とアセットのみを送信したいのですが、他のすべての接続は を通じて実装さhtmlれます。文字列や整数を交換するのは難しくありませんが、ActionCable を介してログインするにはどうすればよいですか?cssjsActionCable

0 投票する
2 に答える
2056 参照

ruby-on-rails-4 - Rails 4.2 インスタント メッセージングをアプリに組み込むための現在の最良の方法は何ですか?

Rails 5 (それがいつリリースされるか知っている人はいますか?) には、インスタント メッセージングを簡単に組み込むことができる Websocket のサポートが組み込まれるということを読んでいました。しかし、私はかなり構築されたアプリのために何かを設定しようとしています。すべてがうまくいけば、すぐにかなりの数のユーザーを獲得できるので、同様にスケーリングする必要があります。

ちょっと古い Ryan Bates の Private Pub 、Heroku の websocket の例(私は Heroku にデプロイされています)、Websocket-rails、 actioncable 、およびおそらく他のいくつかを見てきました。ほとんどがかなり複雑に見えるので、私の最善の選択肢は何か、それとも Rails 5 が間もなくリリースされるので、それを待つべきなのかを考えています。

ありがとう。

0 投票する
1 に答える
874 参照

ruby-on-rails - ActionCable でプレゼンス ステータスを確実に実装する

ActionCable を使用してチャット機能を実装しました。私は現在、README でのユーザーの外観の実装に基づいて、プレゼンス ステータスを実装しようとしています。

このドキュメントでは、次のステートメントについて言及しています。

#subscribed コールバックは、以下に示すように、クライアント側のサブスクリプションが開始されたときに呼び出されます。この場合、その機会を利用して、「現在のユーザーが実際に表示されました」と言います。その表示/非表示 API は、Redis やデータベースなどによってサポートされる可能性があります。

データベースにオンライン属性を実装し、アプリケーションが表示/非表示の通知を受信したときにそれを更新できます。ただし、この属性の信頼性については保証しません。たとえば、サーバーに障害が発生した場合、同期が取れなくなる可能性があります。

どうすればこれを信頼できる方法で実装できますか?

0 投票する
1 に答える
1683 参照

ruby-on-rails-4 - ActionCable 連続接続/切断ループ

私の Rails アプリケーションは、1 つのチャネルを持つ単純なチャット アプリケーションとして構成された ActionCable gem を使用しています。

close イベントが呼び出され続け、その後継続的に再開されます。私の Rails サーバーは接続を正しく認識しています。ブラウザ/Javascriptでループが発生しています。

誰もこの問題を経験しましたか?

0 投票する
5 に答える
9981 参照

ruby-on-rails - ActionCable - 接続ユーザー数を表示するには?

Action Cableで簡単なチャット系アプリ(プランニングポーカーアプリ)を作ろうとしています。用語、ファイル階層、およびコールバックの仕組みに少し混乱しています。

これは、ユーザー セッションを作成するアクションです。

ユーザーは、全員にブロードキャストする必要がある投票を投稿できます。

この時点まで、すべてが明確で、正常に動作しています。問題は、接続ユーザー数を表示するにはどうすればよいかということです。ユーザー(消費者?)が接続したときにJSで起動するコールバックはありますか? 私が欲しいのは、シークレットモードで3つの異なるブラウザーで3つのタブを開くと、「3」を表示したいということです。新しいユーザーが接続したら、番号を増やしたいと思います。ユーザーが切断すると、数値が減少します。

私のPokerChannel

app/assets/javascripts/poker.coffee: