分からないこと
ブラウザからの送信した内容が、サーバ側に送られることを確認するために、以下を実施しましたが、エラーが出力されます。原因が分からないので、分かる方いらっしゃいましたら、コメントよろしくお願い申し上げます。なお、Ruby側でbinding.pryを入れ処理を止めています。
実行コマンド
App.room.speak()
結果
VM10:1 Uncaught ReferenceError: App is not defined
at <anonymous>:1:1
期待する結果
App.room.speak()
true
環境
rails 6.0.2.1
Ruby 2.6.3
ソース
javascript
1import consumer from "./consumer" 2 3consumer.subscriptions.create("RoomChannel", { 4 connected() { 5 // Called when the subscription is ready for use on the server 6 console.log('フロント側からバックエンド側を監視する') 7 }, 8 9 disconnected() { 10 // Called when the subscription has been terminated by the server 11 }, 12 13 received(data) { 14 // Called when there's incoming data on the websocket for this channel 15 }, 16 17 speak: function() { 18 return this.perform('speak', {message: 'フロント側からのチャットメッセージ'}); 19 } 20});
Ruby
1class RoomChannel < ApplicationCable::Channel 2 def subscribed 3 # stream_from "some_channel" 4 end 5 6 def unsubscribed 7 # Any cleanup needed when channel is unsubscribed 8 end 9 10 def speak(data) 11 binding.pry 12 end 13end
あなたの回答
tips
プレビュー