Prove that every nonempty open subset $G$ of $\mathbb{R}^n$ can be expressed as a countable union of nonoverlapping closed rectangles. Question:

Prove that every nonempty open subset $G$ of $\mathbb{R}^n$ can be expressed as a countable union of nonoverlapping closed rectangles, $G= \bigcup_{k=1}^\infty I_k$.

Attempt:
My idea is to tile $\mathbb{R}^n$ with cubes of side 1. Then discard the cubes that do not intersect with $G$. Then repeat. However, I'm not sure if this is the right approach, since it may only approximate $G$. I also would be unsure of how to formalize such an approach. Alternative ideas would be appreciated.
Here's some additional context since there's quite a bit of discussion on the problem. The problem as originally written in Chapter 2 of Lebesgue Integration on Euclidean Space by Frank Jones reads:

Of course, we need to know what a special rectangle is. This is defined as follows (essentially just a closed rectangle):


Your idea seems to work, maybe with slight changes.
You should discard cubes that are not contained in $G$, rather than do not intersect $G$. 
Why does it work? Call the cubes $(R_i)_{i=1}^\infty$. Because of the above line, no doubt that $$\bigcup_iR_i\subset G.$$On the other hand, since $G$ is open, every $x\in G$ is contained in a ball which is contained in $G$. As the cubes get small enough, one of them will contain $x$ and be contained in the ball.
