2012-01-16 69 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

相关问题