【发布时间】:2016-05-20 05:07:49
【问题描述】:
我会在哪里存储主题 ID?
关于socket,我可以使用:
def join("topic:" <> topic_id, _params, socket) do
...
socket= assign(socket, :topic_id, topic_id)
{:ok, socket}
end
那是在套接字范围内,但是我的用户可以同时加入多个主题,这意味着上面的代码将在每次加入新主题时覆盖 topic_id,是这样吗?
如果我想知道 handle_in 中哪个主题 ID 处于活动状态怎么办?
例如:
def handle_in("new_message", params, socket) do
# what is the active topic id here?
end
我认为:
def handle_in("new_message:" <> topic_id, params, socket) do
# now, I know that topic_id is the active topic
end
还有其他方法可以做到这一点吗?或者这就是它的完成方式?
【问题讨论】:
标签: phoenix-framework phoenix-channels