LoginSignup
0
1

More than 3 years have passed since last update.

【Rails Action Cable】チャットの投稿が反映されない/別のRoomに反映されてしまった時の対処方法。

Last updated at Posted at 2019-05-15

はじめに

以前の投稿(【Rails】 Action Cableを用いてチャット機能を作成)で、ChatRoom毎で非同期表示される(自分/相手の投稿をリアルタイムで表示できる)チャットアプリを作成したが、
違うChatRoomの投稿の表示が反映されてしまうというバグが発生していた。

具体的には

Aさん:Room1にいる Bさん:Room2にいる
↓
Aさんが投稿した内容がRoom1だけでなく、Bさんの画面(Room2)にも表示が反映されてしまった

他にも、投稿したのにも関わらず表示されない(ただしDBにはPOSTされている)といった事象も発生していた。

原因と解決方法

どうやらturbolinksが悪さをしているらしく、以下の方法で解決した。

◆ turbolinksを無効化

gemfilegem 'turbolinks'を削除
application.js//= require turbolinks を削除

◆ room.coffeeをfix

1行目の以下のコードを

document.addEventListener 'turbolinks:load', ->

↓以下に変更

$ ->
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1