比方說,我有我的助手這個簡單的方法,可以幫助我找回客戶:Rails的構建方法修改對象
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>
但用戶數不變。換句話說 - 它不會添加新用戶,但有一個用戶缺少......這是爲什麼?我該如何修復它?
users.count保持不變嗎?或者是users.length保持不變? – 2012-09-26 20:25:24
@ new_user.save 見:[構建方法] [1] [1]:http://stackoverflow.com/questions/783584/ruby-on-rails-how-do-好的,謝謝你的解釋。我使用主動記錄構建方法歸屬於rel – moduleWolf