我有一个用户模型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?
Run Code Online (Sandbox Code Playgroud)
为什么u.designpad返回零?u.methods列出的方法designpad和designpad=,同时采用了与预期has_one关联.
但u.designpad只是不会返回预期的设计垫.
正如@keymone所说,你的u对象没有重新加载的问题.您也可以稍微重构一下代码:
u = User.first
d = user.create_designpad
# Check:
d.user
#=> u
u.designpad
#=> d
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1400 次 |
| 最近记录: |