我有两个型号。
class User<<ActiveRecord::Base
has_many :projects
end
class Project<<ActiveRecord::Base
belongs_to :user
end
然后在控制台中,我将一个项目加载到变量" p"中,用户在变量" u"中加载。考虑以下命令
u = User.first
p = Project.first
u.projects<<p
现在,
U.Projects和P.user都显示正确的AMD预期输出。
我的问题是,我如何从用户'u'的项目中删除项目'p',从而反映了两个模型。
我尝试过
u.projects.delete(p)
这仅从'u'的项目中删除'p'
但是,P.user仍然显示" U",我不想要。那么,如何管理这个?
使用u.reload
进行重新加载操作解决了我的问题。感谢mr_sudaca
的建议。重新加载操作从数据库中获取最新的记录状态,并刷新存储在内存中的对象以反映对象的最新状态。