こういうかんじでチャットツールをつくってます。画面読み込んだときは自分と相手のメッセージを分岐させて表示できてるのですが、実際herokuで複数ユーザーを作ってチャットを打った時、全て自分が話す側の吹き出しになってしまいます。再読み込みしたら改善されるのですが。
room_channel.rb
1 def speak(data) 2 message = Message.create!(content: data['message'],room_id: params['room_id'], user_id: params['user_id']) 3 ActionCable.server.broadcast "room_channel_#{params['room_id']}", message: render_message(message) 4 end 5 6 private 7 8 def render_message(message) 9 if params['user_id'] == message.user_id 10 ApplicationController.renderer.render(partial: 'messages/me-message', locals: {message: message}) 11 else 12 ApplicationController.renderer.render(partial: 'messages/you-message', locals: {message: message}) 13 end 14 end
他の人がチャットを打って表示される処理がどこで行われているのかわからないのでroom_channel.rbで分岐してみたのですができませんでした。
_message.erb.slim
普通の読み込み時の処理はrenderの中でifで分岐させてます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。