Rudin exercise: If $f$ is a diferentiable mapping on an open connected set $E$ and $f'(x) = 0$ for all $x \in E$, then $f$ is constant. Suppose $f: E \subseteq  \mathbb{R}^n \to \mathbb{R}^m$ is a differentiable map with $E$ open and connected. If $f'(x)=0$ for all $x \in E$, prove that $f$ is constant.
My attempt:
For all $x \in E$, choose an element $\epsilon_x >0$ such that the ball $B(x,\epsilon_x) \subseteq E$. Then it is obvious that
$$E= \bigcup_{x \in E} B(x, \epsilon_x)$$
Now, consider the corollary of theorem 9.19 in Rudin:

Suppose $f$ maps an open, convex set $E\subseteq \mathbb{R}^n$ into
  $\mathbb{R}^m$, $f$ is differentiable in $E$ and $f'(x) = 0$ for all
  $x\in E$, then $f$ is constant.

Applying this proposition to the map $f$ restricted to a ball $B(x, \epsilon_x)$ implies that $f$ is constant on every ball in the union written above.
Intuitively, I can see that the connectedness will imply that we can get from one ball to another balls using chains of "between-balls', or otherwise we will get a separation of $E$ as disjoint union of open sets.  I struggle to make this formal though.
Any help is much appreciated!

For your attempt, note that $E$ is actually path connected, and the range of a path is always compact. Can you see how to proceed?
Here’s a different method altogether:
Pick any value $c$ taken by the function. Consider the set 
$$\{x\in E : f(x)=c\}$$
By continuity, this is closed. By the lemma you stated, it is open. By connectedness, it has to be either $E$ or empty. Since it is not empty, it has to equal $E$. 
