我有兩個型號:更新HAS_ONE相關模型
Student > belongs_to Locker
Locker > has_one Student
與此相關聯,我不得不去更衣室,併爲其分配一個學生,或者如果我會轉身的關聯,我可以去的學生,給他分配一個儲物櫃。
這是什麼工作,我理解。 但是,目前我有像上面描述的設置。
當然,現在有了一個想法,那就是直接爲我正在創建的學生(新生)直接分配一個儲物櫃將會非常酷。
所以在這種情況下,我確實有儲物櫃,但學生目前不在場,而且當它被創建時,也應該創建從儲物櫃到這個學生的聯繫。 因此,實際上會創建一個ID爲XXX的新學生,但同時該ID也應該轉到一個儲物櫃及其student_id屬性。
我敲我的腦袋如何處理這一點,因爲我想通了這些選項並不真正做的工作(我使用simple_form BTW): - 利用協會 - accepts_nested_attributes
唯一的辦法我看到它以某種方式發送虛假身份證(attr_accesor)選定的鎖櫃ID到學生模型,創建學生,寫下它的ID,找到更衣室,更新儲物櫃與這個新的ID。
但它感覺很奇怪和錯誤。
難道有人指着我正確的方向嗎?
這正是我採取的方式 - 但我結束了太多的IF和案例。看起來很複雜,我覺得沒有效果。 在新文章中額外評論。 –
梅,不能編輯評論了。 我們不僅在談論創建一個新學生/附加現有的儲物櫃。但也更新學生/儲物櫃。由於需要考慮一些組合,這會帶來更多的複雜性。它變得越來越複雜。我正在調查nested_attributes,但得出的結論是,我真的很想達到目標。 –
這個答案中的代碼也可以很好地編輯學生...只需按照標準更新程序,並在學生保存後包含更衣室邏輯。如果'params [:locker_id]'不等於學生當前的儲物櫃ID,請確保您取消分配他們當前的儲物櫃。 – Matt