我有一个has_one :designpad
的用户模型,一个带belongs_to :user
的设计块模型和user_id
列。
现在我这样做:
u = User.first
d = Designpad.new
d.user_id = u.id
d.save
d.user # returns the user (== u)
u.designpad # always returns nil, but why?
u.designpad
为什么返回nil? u.methods
列出了方法designpad
和designpad=
,正如预期的那样使用has_one
关联。
但是u.designpad
只是不会返回预期的设计垫。
答案 0 :(得分:5)
正如@keymone所说,你的u
对象没有重新加载的问题。您也可以稍微重构一下代码:
u = User.first
d = user.create_designpad
# Check:
d.user
#=> u
u.designpad
#=> d