・解決したい疑問
 テーブル同士の関係が一対一の時に、どちらのテーブルがhas_oneになるのか知りたい。
・考え方
 二つのテーブルの関係を考えた時に、独立して存在できるテーブルには、has_oneを用いる。
独立して存在できずに、あるテーブルに依存して存在しているテーブルには、belongs_toを用いる。
例えば、twitterのようなアプリがあるとする。ここで、仮にtweetsテーブルとcommentsテーブルがあり、そのアソシエーションが一対一だとする。その時、ツイートはコメントがなくても存在できるが、コメントは、ツイートがなければ、存在することができない。
よって、tweetsテーブルに、has_oneを、commnetsテーブルにbelongs_toを設定すれば良い。
なお、実際には、tweetsに対して、複数のコメントができるのが、絶対的なので、今回の具体例は、あくまで仮の例です。