假设我的助手中有一个简单的方法可以帮助我检索客户:
def current_client
@current_client ||= Client.where(:name => 'my_client_name').first
end
现在调用current_client
返回:
#<Client _id: 5062f7b851dbb2394a00000a, _type: nil, name: "my_client_name">
完美的。客户端有几个关联用户,我们看最后一个:
> current_client.user.last
#<User _id: 5062f7f251dbb2394a00000e, _type: nil, name: "user_name">
后来在一个new
方法中,我称之为:
@new_user = current_client.user.build
而现在,令我惊讶的是,调用current_client.user.last
返回
#<User _id: 50635e8751dbb2127c000001, _type: nil, name: nil>
但用户数不会改变。换句话说 - 它没有添加新用户,但缺少一个用户......这是为什么呢?我该如何修复它?