2012-01-16 54 views
0

我有一個基本問題,has_onebelongs_to關聯。我有兩個型號:StudentRegistrationUser看起來像以下:創建Rails之後將外鍵值寫入belongs_to模型3

class StudentRegistration < ActiveRecord::Base 
    belongs_to :user 
end 

class User < ActiveRecord::Base 
    has_one student_registration 
end 

的想法是,一個學生被註冊,再後來一個用戶帳戶可以被創建。我的問題是,我將外鍵user_id存儲在student_registration表中,我只有在創建用戶記錄時才知道這一點。當用戶帳戶被創建時,我需要更新student_registration表添加新的用戶ID。

是這樣的,我只是有這個錯誤的方式,或應該Rails自動處理?

回答

0

你已經建立了你的關聯正確的方式,但我猜測實現是錯誤的。

沒問題,只要通過這個鏈接,你會很好去。

Nested-model-form-part-1 - Railscasts

+0

好吧,我只是嘗試添加accepts_nested_attributes_for就我的用戶模型,但仍然沒有喜悅。我在想我正在做的是錯誤的方式。學生註冊模型可以更新其外鍵屬性(user_id),直到用戶創建後才知道用戶ID? – 2012-01-16 18:24:23

+0

是的,它不能。這就是爲什麼我們構建一個新的'user'對象,然後調用'user.student_registeration.build',然後將這個對象傳遞給視圖以充滿來自瀏覽器的輸入。我強烈建議您仔細閱讀我發佈的鏈接 – 2012-01-16 18:41:15

+0

感謝您將我置於正確的路徑@Jatin。我的問題是我以錯誤的方式看着控制器! – 2012-01-19 14:48:27

相關問題