ドグサレ初心者のへっぽこビッグウェーブ

地球の底辺にいるゴミがプログラミングとか音楽とかを語るクソブログ

fixtureとか割りとどうでもいいところで詰まる

ヘッダがページごとにうまく動いてなかったりしてたのでちょっとだけ修正。

いろいろやってみたら、レイアウトテンプレートが結構たくさんできてしまった。。。各メソッドでの指定もめんどくさい。(けどクラス全体にメソッドと同じようにrender記述したらダメだった)このあたりうまくまとめる方法ありそうだなぁ。


で、次はいよいよデータをいろいろ入れよう、ってことでfixturesとしてのymlデータを作ってたけど、そこで詰まる。



外部キー連携のカラムに親テーブルのIDが入ってくれず、全部ゼーローになる。

パッと調べると、親テーブルのymlのラベルをIDに指定すればいいって書いてあるからそうしてんのに。。。
ActiveRecord::FixtureSet

Active Record reflects on the fixture's model class, finds all the belongs_to associations, and allows you to specify a target label for the association (monkey: george) rather than a target id for the FK (monkey_id: 1).


うーん。わからん。
調べるとfixtureファイルの読み込みがファイル名昇順だから、ってのが濃厚なのか?

試しに順番にfixture読み込んでみた。


だめだ。


プロに聞いた。プロはmongoroidだったが流石の経験値で一発で正解を引き当てる。blog.bigbinary.com

どうやら外部キー指定のカラムに"_id"とついていたのがまずかった模様。
これがついていることでrails側でinteger型と認識し、無理やり数字を入れようとする =>結果ダメ、みたいな状態に。
なので"_id"を削除することで、外部キーを挿入することができるようになりました。



真実はいつもシンプルなのです。








なんかトップからのリンク先がページ頭じゃなくて中途半端なとこに飛ぶようになったぞおい