💬

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

2024/07/09に公開

開発環境

  • macOS
  • VSCode
  • Rails 7.1.3.3
  • ruby-3.2.3
  • PostgreSQL 16.2

行いたいこと

  • 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(削除コマンド)

ターミナル
$ rails assets:clobber




GitHubで編集を提案

Discussion