【发布时间】:2017-04-17 15:00:16
【问题描述】:
我有两个模型。
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和u.projects不应显示已删除的项目 -
感谢您的帮助。您的回答实际上解决了我对关联的大部分疑问。 :)
标签: ruby-on-rails-4 model-associations delete-record