The classical proof via differential geometry (which I might not have time to enter all of as I'm waiting for my flight; if not, I'll finish it when I get home) goes like this: Suppose that the surface in $\mathbb{R}^3$ is smooth and parametrize it locally in the form $X(s,t)$ where the two rulings are defined by holding either $s$ or $t$ constant. Then the two tangent vector fields $X_s$ and $X_t$ are linearly independent and are the tangents to the two rulings. Since $X_{ss}$ is the acceleration of the $t$-ruling, it follows that $X_{ss} = f X_s$ for some function $f$. Similarly $X_{tt} = g X_t$ for some function $g$. Moreover, since the surface is not a plane, it follows that $X_{st}$ cannot be a linear combination of $X_s$ and $X_t$ (otherwise, the plane spanned by $X_s$ and $X_t$ would be fixed). This means that $X_s$, $X_t$, $X_{st}$ is a basis of $\mathbb{R}^3$, and, as such, we have equations of the form $$ \begin{pmatrix} dX_s& dX_t & dX_{st} \end{pmatrix} = \begin{pmatrix} X_s& X_t & X_{st} \end{pmatrix} \begin{pmatrix} f\ ds& 0 & f_t\ ds\\\\ 0 & g\ dt & g_s\ dt\\\\ dt & ds & f\ ds + g\ dt \end{pmatrix} $$ (The equations for $dX_{st}$ follow since $(X_{st})_s = (f X_s)_t = f_t\ X_s + f\ X_{st}$, etc.) By comparing partials, or by using the structure equations above, one sees that $d(f\ ds + g\ dt) = 0$, so that there must exist a function $h$ such that $f = h_s$ and $g = h_t$. The equation now becomes $$ \begin{pmatrix} dX_s& dX_t & dX_{st} \end{pmatrix} = \begin{pmatrix} X_s& X_t & X_{st} \end{pmatrix} \begin{pmatrix} h_s\ ds& 0 & h_{st}\ ds\\\\ 0 & h_t\ dt & h_{st}\ dt\\\\ dt & ds & h_s\ ds + h_t\ dt \end{pmatrix} $$ Moreover, the structure equations now imply that $d(e^hh_{st})=0$, so $h_{st} = ce^{-h}$ for some constant $c$. (OOPS! Got to go for my flight! I'll finish this tonight when I get home.)