     quote do
       put unquote(route), do: unquote(
         quote do 
-          {:ok, conn} = apply(unquote(controller), unquote(action), [var!(conn), binding()])
+          binding = binding()
+          {:ok, conn} = apply(unquote(controller), unquote(action), [var!(conn), Keyword.delete(binding, :conn)])
           Lager.info "PUT #{conn.status} /#{Enum.join conn.path_info, "/"}"
           {:ok, conn}
         end

    quote do
      patch unquote(route), do: unquote(
        quote do 
          {:ok, conn} = apply(unquote(controller), unquote(action), [var!(conn), binding()])
          Lager.info "PATCH #{conn.status} /#{Enum.join conn.path_info, "/"}"
          {:ok, conn}
        end

    quote do
      delete unquote(route), do: unquote(
        quote do 
          binding = binding()
          {:ok, conn} = apply(unquote(controller), unquote(action), [var!(conn), Keyword.delete(binding, :conn)])
          Lager.info "DELETE #{conn.status} /#{Enum.join conn.path_info, "/"}"
          {:ok, conn}
        end
