We only see the messages for that specific room are displayed. Now we can use the room to initiate a new channel for our topic, using the room we got from the path. UserSocket do use Phoenix.
Once we have those we can send them to the server with channel. Controller do use ChatWeb, :controller alias Chat. Since the topic is stored as a field on our socket, we can pattern match on it to get the roo. We see that our lo and the name of our chat room is being displayed.
And we see our chat box and form. Bryan Bryce What program did you use to check the database? Our default code also shows how we can channels with a topic. This will be a little different from the chat room application we built in episode 38 - where we had a single room.
Then if we do a quick check of the database - we see our messages are there. If we refresh the - our messages cjat lost.
Now we can use channel. And go back to the browser and post some messages.
If we go to our chat again and then inspect the browser console, we see our message is logged letting us know we ed our channel successfully. Now that we have our working, we need to create create a way for users to post messages to the room.
Our last piece will be to update our template to load any existing messages for the room. But what rkom have here will work for our application.
CreateMessages do use Ecto. Great, and we can also test that our messages are pushed out only to people in that specific chat room. This will send our event to the server, where it will be picked up by our WaterCoolerChannel.
ChatView do use TeacherWeb, :view end With that we can create the template for our chat room. And in the app. We see our schema with our body and name fields.
cbat Great, now we need to save our messages when someone posts one in the chat. And if we go back to our chat and refresh the - we see our existing messages are loaded.