2017-09-02 15 views
-1

受講者は学校に入学し、入学許可書に入ったときに、学生にバッチと成績を割り当てさせたい。バッチには多くの成績があり、グレードはバッチに属します。学生バッチ等級関係レール

このシナリオでは、生徒用に予め作成されたバッチとグレードを選択する必要がある学生フォームを作成する必要があります。生徒のバッチとグレードを選択するためにfields_forフォームを作成するにはどうすればよいですか?

要件は、ユーザーがバッチを選択してから選択したバッチのグレードをドロップダウンして、フォームを送信した後に学生に割り当てることができるはずです。したがって、学生は自分のバッチとグレードを持つことができます。バッチとグレードは事前に作成されているので、私はこのためのRailsのネストされた属性の機能を使用することはありません

Grade.last.studentsStudent.last.grade.batchStudent.last.grade

+0

あなたに代わってあなたに仕事を依頼する必要はありません。あなたは少なくともあなた自身でこれをやろうとしたことを示す必要があります。 Googleには、さまざまなオンラインチュートリアルや記事が掲載されています。このような質問は下に投票されることになっているので、私はそれを行います(申し訳ありません)が、あなたはここで新しいので、私は正しい方向にあなたを指し示す答えを(コードなしで)与えるでしょう。 –

答えて

0

:だから私のような何かを達成することができました。

これを行う最も簡単な方法は、すべてのバッチを表示するドロップダウンを形成入場を持っていることであり、また、各バッチについて、そのバッチ内のすべてのグレードの隠さドロップダウンを持っている(したがって10がある場合1回のバッチドロップダウンと10回のグレード別の非表示のドロップダウンがあります)、JSを使用して、特定のバッチが選択されたときに関連するグレードドロップダウンを表示します。

ドロップダウンでは、バッチ/グレードのIDを値として使用し、コントローラーはこれをデータベースで検索して学生に割り当てます。

バッチの数がかなり多く、これが扱いにくくなった場合は、選択したバッチが変更されるたびにAJAXを使用してグレードのドロップダウンボックスを作成します。

+0

質問は、学生、バッチ、および成績の関係です。私は結合テーブルを一括して作成し、それをnested_attributesとして使用するべきではありませんか?私は学生とバッチ、成績との関係を形成することに混乱しています。どのように私は学生の学年を取得するか、バッチの学年から学年を取得するのですか? –

+0

結合テーブルは不要です。それぞれ独自のモデルを作成します。学生はGradeに属します。グレードには多くの生徒がいます。グレードはバッチに属します。バッチには多くの成績があります。次に、「Student.grade.batch」とその他のことを言うことができます。 –

+0

また、Studentクラスの 'delgate:batch、to::grade'を入れた場合、' Student.last.batch'と言うこともできます。 –

関連する問題