我正在学习Rails,我正在阅读Beginning Rails 3书。当您拥有has_many
关联时,您会自动收到方法。
假设用户有很多文章。
user.articles.delete(article)
现在该行只将文章的外键设置为“NULL”。如果你想让它从数据库中消失,你是否也必须销毁/删除文章,或者是否有一种方法同时执行它?这是正确的吗?
如果在删除关联之前销毁与用户有关系的文章,会发生什么?
答案 0 :(得分:2)
delete
和destroy
之间存在一些差异。
删除方法基本上删除了一行...就是它..
另一方面,destroy
允许您提供更多选项:
所以,而不是
user.articles.delete(article)
你可以使用
user.articles.destroy(article)
通过这种方式,您可以防止数据库中存在任何孤立的行。