💬

ActionCable + WebSocketで実装したチャット機能でJavaScriptのファイルが読み込まれない問題

2024/07/09に公開

行いたいこと

  • ActionCable + WebSocketで実装したチャット機能でJavaScriptのファイルが読み込まれ、メッセージを送信する挙動が正しく行えるようにしたい。

起こっている問題

  • app/javascript/channels/room_channel.jsを修正しても挙動が全く変わらない。このファイル自体を削除してもチャット機能でメッセージが送信できてしまう。
  • 本来ならばこのファイルに記載されているDOMContentLoadedがブラウザの挙動で発火してroom_channel.rbspeakアクションに進むようになっている。

原因

  • rails assets:precompileのコマンドを実行をした。これによりpublic/assetsファイルが作成され、優先的に読み込まれてしまっていた。
  • app/javascript/channels/room_channel.jsを修正しても、読み込まれるのはpublic/assetsなので修正、削除しても挙動に変化がなかった。

assetsファイルの削除

publicディレクトリにあるassetsファイルを削除する
・ターミナルからコマンドでpublic/assetsを作成したので、削除もコマンドで行う。

rails assets:clobber(削除コマンド)

publicディレクトリのassetsファイルを削除する。

rails assets:clobber
GitHubで編集を提案

Discussion