クライアントを取得するのに役立つこの単純なメソッドがヘルパーにあるとしましょう。
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>
ただし、ユーザー数は変わりません。言い換えれば、新しいユーザーは追加されませんが、1人のユーザーが欠落しています...これはなぜですか?どうすれば修理できますか?