テストデータ ( data/fixture/test_data.yml ) のロードがうまくいかない1
ちょっとはまったので覚書。
- エラー文
‘The object “***″ from class “***” is not defined in your data file.’
テストデータに外部キーを読み込むときに頻発。
- test_data.yml
Table1: label1: name: なまえ body: ほんたい label2: name: なまえ2 body: 本体 Table2: labelA: name: おなまえ table1_id: label1 labelB: name: おなまえ2 table1_id: label2
- 外部キーの読み込みは実際の値ではなくtest_data.yml内のラベルの値を使う
大抵の場合、idは自動設定されるためだと思われる。
label1、label2はtest_data.yml内でデータにラベリングするだけの値で他には影響を及ぼさない。
- 外部キーの読み込みがある場合はラベルが先に読み込まれるようにする
上の例だと、Table1とTable2の順が逆になっているとエラーが出る。