0

У меня две модели.Ссылка на связанный объект Возвращает Nil

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 like, user.reload.

reload - Перезагружает запись из базы данных.

+0

Ahh спасибо, сэр. – jason328

Смежные вопросы