2017-09-02 110 views
-1

学生被录取到学校,并且在录取形式中,我希望用户为学生分配他/她的批次和成绩。批有多个等级和等级属于批次。学生批级关系导轨

在这种情况下,我必须创建一个学生表单,我需要用户为学生选择预先创建的批次和成绩。我应该如何创建fields_for表单来为学生选择批次和等级?

要求是,应该有一个下拉列表,用户可以选择一个批次,然后选择批次的等级并在提交表格后将其分配给学生。所以学生可以有他/她的批次和成绩。所以,我可以做到这样的:

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

+0

你不应该要求你去做你的任务/工作。你需要证明你至少试图自己做这件事。 Google提供的大量在线教程和文章可帮助您入门。由于像这样的问题应该被低估,所以我会这样做(对不起),但由于你在这里是新手,我还会给出一个答案(没有任何代码),这将会使你指向正确的方向。 –

回答

0

由于批次和档次是预创建的,我不会使用这种嵌套属性的Rails的功能。

要做到这一点,最简单的办法就是在准考证显示所有批次,而且,每一批有隐藏下拉的所有牌号的那批(下拉所以如果有10个批次有一个批次下拉菜单和10个不同级别的隐藏下拉菜单),然后在选择特定批次时使用JS显示相关等级下拉菜单。

下拉菜单将使用批次/等级的ID作为其值,然后控制器可以在数据库中找到这些值并将它们分配给学生。

如果批处理的数量很大,而且这会变得很难处理,那么只要选择的批处理发生变化,我就会使用AJAX填充分数下拉框。

+0

问题是学生,批次和成绩之间的关系。我是不是应该使Batch成为Join表并将其用作nested_attributes?我很困惑在学生和批次之间形成关系,成绩。我如何从批次档次中获取学生成绩或获取成绩? –

+0

不需要连接表。制作各自的模型。学生属于成绩。年级有许多学生。等级属于批次。批次有很多成绩。然后你可以说'Student.grade.batch'和其他的东西。 –

+0

另外,如果你把学生类'越狱:批处理,到::成绩',那么你也可以说'Student.last.batch' –