2016-08-05 6 views
0

私の什器に何か間違っていると、奇妙な振る舞いをしています。 「スコア」モデルは、「ユーザー」と「割り当て」を結合して、その他の情報を追加する列です。フィクスチャは、次のようになります。矛盾した什器との混乱

Score.ymlこれはエラーを生成します

one: 
    assignment: pythag 
    position: 2 
    student: natalie 
    points: 75 

:ActiveRecordは::フィクス:: FixtureError:表 "スコア" は "割り当て" という名前の列がありません。

スコアスキーマに「:student_id」という名前の列があり、「:student」という名前の列が含まれていないため、エラーには意味があります。

しかし私は他のすべての備品が私がここで使用しようとしているのと同じタイプの相対キーを使用するので、私は混乱しています。たとえば、私の「課題」のフィクスチャは、「seminar_id」ではなく「seminar」を参照しています。

one: 
    position: 1 
    name: Pythag 
    possible: 100 
    seminar: one 

assignment.yml

これは私が生成レール奇妙なID番号を見つける必要がないように、私は簡単に、私のseminars.ymlファイルから特定のフィクスチャを参照することができます。私は同じことを自分のスコアフィクスチャでやってみたいです。

1つのフィクスチャに絶対列名が必要なのは何かに関する考え方ですが、残りの部分は相対的な列名を簡単に受け入れることができますか?

ありがとうございました。

答えて

1

-JeffあなたのScoreモデルで関連付けを定義する必要があります。 documentation、特にこの部分をご覧ください。

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)

+0

興味深い。以前は適切な団体が設置されていました。しかし、あなたが私に指摘したドキュメンテーションのために、私は "多形"タグについて学びました。私はちょっと混乱して、問題を解決したのですが、そうしました。ありがとうございました。 –