Phoenix: трансляция с консоли IEx

Я создал небольшое приложение для чата, подобное приведенному здесь: https://github.com/chrismccord/phoenix_chat_example/blob/master/web/channels/room_channel.ex

И не могу сообразить, как транслировать всем пользователям в теме сообщение. В приведенном выше приложении (которое не обновлено до версии 0.13, как я использую), как мне это сделать? Ниже то, что я пробовал без везения:

Phoenix.PubSub.broadcast Chat.PubSub, "new:msg", "hello from the console"
Phoenix.PubSub.broadcast Chat.Endpoint, "new:msg", "hello from the console"
Phoenix.PubSub.broadcast Chat.RoomChannel, "new:msg", "hello from the console"

Ни один из них не работает... Некоторые из них выдают исключения :(


person mgwidmann    schedule 27.05.2015    source источник


Ответы (1)


Поскольку вы находитесь на версии 0.13, вам необходимо выполнить трансляцию с конечной точки и предоставить тему, событие и полезную нагрузку (в виде карты). Попробуй это:

Chat.Endpoint.broadcast("rooms:lobby", "new:msg", %{message: "hello from the console"})

Этот фрагмент делает некоторые предположения о вашем канале и клиентском коде, поэтому, если он не работает, предоставьте свой маршрутизатор, канал и код js, чтобы я мог помочь в дальнейшем.

person Chris McCord    schedule 27.05.2015