Websocket Phoenix.Socket.Message.from_映射中没有匹配的函数子句/1当连接插座时

Websocket Phoenix.Socket.Message.from_映射中没有匹配的函数子句/1当连接插座时,websocket,elixir,phoenix-framework,Websocket,Elixir,Phoenix Framework,Phoenix.Socket.Message.from_map!()获取映射并将其转换为消息结构。不知何故,您正在向其中传递一个列表,这就是为什么您会收到一个错误,指出没有Phoenix.Socket.Message.from_map的版本!()接受列表。您有问题吗?请提供您连接到websocket的确切方式。@PatNowak let socket=new socket(“ws://localhost:4000/socket”,{})socket.connect()。我正在尝试从我的rails

Phoenix.Socket.Message.from_map!()
获取映射并将其转换为消息结构。不知何故,您正在向其中传递一个列表,这就是为什么您会收到一个错误,指出没有Phoenix.Socket.Message.from_map的版本!()接受列表。

您有问题吗?请提供您连接到websocket的确切方式。@PatNowak let socket=new socket(“ws://localhost:4000/socket”,{})socket.connect()。我正在尝试从我的rails应用程序连接。@AnilKumar将该细节添加到您的问题中。在评论中发布该细节不是正确的方式。这应该是评论,而不是回答。另外,请在格式化你所发布的内容上下功夫。我不同意。这就是他为什么会出错的原因。他正在将一个列表传递给一个需要映射的函数。如果你有更好的答案,请提供。足够公平。我收回了我的反对票。“莫名其妙”这句话通常意味着这不是一个准确的答案,对未来的读者没有任何价值,为未来的读者创建的知识库也是如此,而不是为了帮助特定的人发布低质量的问题。你有一个很好的观点。我花了一整天的时间研究Elixir stack traces,所以很容易看到这个问题,但你是对的,这不是一个很好的问题,因为它只包括stack trace,对未来的读者没有太大帮助。谢谢你也更改了格式。
** (exit) exited in: Phoenix.Endpoint.CowboyWebSocket.resume()
** (EXIT) an exception was raised:
** (FunctionClauseError) no function clause matching in Phoenix.Socket.Message.from_map!/1
    (phoenix) lib/phoenix/socket/message.ex:22: Phoenix.Socket.Message.from_map!(["16", "16", "public:subtopic", "phx_join", %{}])
    (phoenix) lib/phoenix/transports/websocket.ex:106: Phoenix.Transports.WebSocket.ws_handle/3
    (phoenix) lib/phoenix/endpoint/cowboy_websocket.ex:77: Phoenix.Endpoint.CowboyWebSocket.websocket_handle/3
    (cowboy) /home/anil/ex_pusher_lite-master/deps/cowboy/src/cowboy_websocket.erl:588: :cowboy_websocket.handler_call/7
    (phoenix) lib/phoenix/endpoint/cowboy_websocket.ex:49: Phoenix.Endpoint.CowboyWebSocket.resume/3
    (cowboy) /home/anil/ex_pusher_lite-master/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4