belongs_to した先の id が取得できない時の対処

model A と B に association があって、

   A は has n, :b
   B は belongs_to :a

という状態だとする。


普通は A#b.id で A の親の B の id が取得できそうなものだけど、これがなぜか取得できない。A#b_id でもダメ。

こんな時は、次のように対処する。

   A.b         # 1回無駄なアクセスをする
   A.b_id      # これでアクセス OK


ちなみにこれは失敗する

   A.b
   A.b.id      # 失敗


何故なのかは全然不明。どこかのプロパティを調整すれば動作するような気もする。