Case1:为模型创建一条新记录并分配关联对象(Status 对象而不是 Status.id),例如
visit = Visit.create(:date => Date.today, :status => Status.first)
visit.status_id #=> 1
创建记录后
我正在尝试更新属性“status_id”(Status.id 而不是 Status 对象),但它返回旧值,甚至在保存对象后调用 reload。例子:
visit.status_id = Status.last.id
visit.save
visit.reload
visit.status_id #=> 1
当我在创建后调用 reload 方法时,它按预期工作
visit = Visit.create(:date => Date.today, :status => Status.first)
visit.status_id #=> 1
visit.reload
visit.status_id = 2
visit.save
visit.status_id #=> 2
案例 2:如果我分配 'status_id' 值而不是状态对象,则无需重新加载对象并且其工作正常
visit = Visit.create(:date => Date.today, :status_id => Status.first.id)
visit.status_id #=> 1
visit.status_id = 2
visit.save
visit.status_id #=> 2
使用上述两种情况,我应该什么时候使用该reload
方法?应该在之前还是之后save
?