Drab: remote controlled frontend framework for Phoenix

Hello Grych

I get a protocol Enumerable not implemented for nil while using the Drab.run_handler method on Phx 1.3. I try to reproduce your example but get the error bellow. Any suggestion ?

  <a class="waves-effect waves-light btn grey" onclick="Drab.run_handler('click', 'clicked', {click: 'clickety-click'});">

  def clicked(socket, payload) do
     socket |> Drab.Browser.console("You've sent me this: #{payload |> inspect}")
  end

  Transport:  Phoenix.Transports.WebSocket
  Parameters: %{"event" => "click", "event_handler_function" => "clicked", "payload" => %{"click" => "clickety-click"}, "reply_to" => "8a0affa7-1dd2-4e9d-95d8-9441897eb747"}
  [error] Drab Handler failed with the following exception:
  ** (Protocol.UndefinedError) protocol Enumerable not implemented for nil. This protocol is implemented for: ...

I also receive this after closing the alert box :

 [debug] INCOMING "execjs" on "__drab:same_path:/packs/1" to Drab.Channel
 Transport:  Phoenix.Transports.WebSocket
 Parameters: %{"ok" =>["SFMyNTY.g3QAAAACZAAEZGF0YWgCZ2QADW5vbm9kZUBub2hvc3QAAA6mAAAAAAByAANkAA1ub25vZGVAbm9ob3N0AAAAj__RLAABgxyz62QABnNpZ25lZG4GAAPPMjNfAQ.2KVP7lyR4fOT_q4tZNBGdCA3dzZFZX5fXWMV_gc-Xjg", nil]}
1 Like