0

我有兩種模式。引用相關對象返回無

class User < ActiveRecord::Base 
    has_one :message 
end 

class Message < ActiveRecord::Base 
    belongs_to :user 
end 

如果我有一個相關的Message創建的用戶,我刪除該郵件,並創建一個新的像,user.message返回nil。例如。

user = User.create 

message = Message.create(user_id: user.id) 

Message.where(user_id: user.id).destroy_all 

Message.create(user_id: user.id) 

# Now if I call this below, it always returns nil 
user.message 

爲什麼會出現這種情況? Rails 3不應該接受這種變化嗎?我該如何解決?

回答

1

只需加載對象再做user.message之類的,user.reload

reload - 重新加載數據庫中的記錄。

+0

啊,先生,謝謝。 – jason328