2017-09-02 111 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' –