問題タブ [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 投票する
2 に答える
988 参照

ruby-on-rails - Rails 5 のジョブからページへの HTML のレンダリング

バックエンド データベースから選択したリソースを収集したら、部分的に非同期にレンダリングするジョブを作成しようとしています。フェッチしているデータを取得するのに時間がかかるため、これを行っています。このデータを受信したら表示できるようにしたいと考えています。現在、私のコードは次のようになっています。

私はすでに _comments.html.erb の部分的なセットアップを行っています。また、キュー アダプターを非同期に設定しているため、このジョブは実際にバックグラウンドで実行され、ページが読み込まれた後に終了します。

html を正常に取得し、それをジョブの @html インスタンス変数に設定できました。

私の質問は、この @html コンテンツを既にレンダリングされたページにどのように取得できますか? これはジョブ内から実行できますか?それとも ActionCable/websockets を使用して実行する必要がありますか? 前もって感謝します!

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

heroku - Heroku: Rails 5 WebSocket 接続に失敗しました

私はherokuのレール5アプリにreactjsをデプロイしようとしています。これは私のProcfileです

これは私の puma.rb ファイルです

これは私のcable.ymlファイルです

私はreactjsからソケットに接続しようとしています

しかし、クロムコンソールでこのエラーが発生し、ソケットが機能しません:\

ここに私のHerokuログがあります

私は何をすべきか?

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

websocket - nil:NilClassのRails 5 actioncable未定義メソッド「fetch」

Rails 5 を使用してactioncableいますが、スローするものを送信しようとするとこのエラーが発生actioncableします。プロジェクトを Heroku にプッシュしようとしています。

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

ruby-on-rails - Rails 5: ActionCable と db が同期されていない

ActionCable のセットアップ、チャネルのリッスン、リクエストの認証などを正常に行うことができました。ただし、作成直後にチャネルに接続しようとすると、奇妙なバグが発生します (説明が難しい、以下を参照)。

セットアップがあり、プロファイルには壁があり、壁には多くの投稿が含まれています。各投稿には独自のチャンネルがあり、ウォール自体にも独自のチャンネルがあります。壁に投稿が作成されると、ActionCable を介して更新されます。

単純化しましたが、これは意図したとおりに機能します。新しい投稿が作成されると、ウォール チャネルがトリガーされ、クライアントは投稿を受け取り、すべてが有効になります。

問題は、ブロードキャストされた新しい投稿を接続することです。新しい投稿を聞きに行くと、データベースから投稿を取得できません:

具体的には、サブスクライブした PostsChannel が適切な ID で呼び出されますが、投稿を取得しようとすると、次のようになります。

何が起こっても常に null を返します。つまり、100% 存在しているにもかかわらず、DB から Post をフェッチできません。

壁にすでにいくつかの投稿がある場合、それらは正常に接続できます。投稿が作成され、ActionCable を介してブロードキャストされた場合にのみ、DB で見つけることができません。ページをリロードすると、作成したばかりの投稿が機能します。新しくブロードキャストされた投稿がデータベースで見つからない理由がわからない

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

nginx - RoR 5.0.0 ActionCable wss WebSocket ハンドシェイク: 予期しない応答コード: 301

こんにちは、ror 5.0.0 ベータ版 (プーマを使用) を使用してプロダクション モードで簡単なチャットを提供しようとしています (localhost では問題ありません)。

これは私のNginx構成です:

これはconfig/redis/cable.yml です

プロダクション: URL: redis://localhost:6379/1

開発: URL: redis://localhost:6379/2

テスト: URL: redis://localhost:6379/3

およびconfig/environments/production.rb

そして、これは私が受け取っているエラーです:

application-[...].js:27 'wss://mydomain/cable' への WebSocket 接続に失敗しました: WebSocket ハンドシェイク中のエラー: 予期しない応答コード: 301

任意のヒント?:) ありがとう

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

ruby-on-rails - アクションケーブル。Redis の再接続に失敗しました

RoR 5.0 ベータ版と actionCable をテストしているときに、コンソールでこのエラーが発生しました。

[ActionCable] Redis reconnect failed.e

その後、HomeBrew を使用してこの Redis をインストールします。しかし、何も起こりません。修正方法は?

OS X. Rails 5 ベータ版。

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

ruby-on-rails - iOS アプリから ActionCable に接続する

私は一日中これにこだわっています。David Heinemeier Hansson による非常に単純な ActionCable サンプル アプリ (チャット アプリ) が正しく動作しています ( https://www.youtube.com/watch?v=n0WUjGkDFS0 )。

iPhoneアプリでwebsocket接続を打とうとしています。に接続すると ping を受信できますws://localhost:3000/cableが、javascript コンテキストの外部からチャネルをサブスクライブする方法がよくわかりません。