我正在学习 Rails,并且正在阅读《Beginning Rails 3》一书。当你有一个has_many
关联时,你会自动接收方法。
假设用户有很多文章。
user.articles.delete(article)
现在该行仅将文章的外键设置为“NULL”。如果您希望文章从数据库中消失,您还必须销毁/删除文章是否正确,或者是否有一种方法可以同时做到这一点?
如果您在删除关联之前销毁与用户有关系的文章会发生什么?
我正在学习 Rails,并且正在阅读《Beginning Rails 3》一书。当你有一个has_many
关联时,你会自动接收方法。
假设用户有很多文章。
user.articles.delete(article)
现在该行仅将文章的外键设置为“NULL”。如果您希望文章从数据库中消失,您还必须销毁/删除文章是否正确,或者是否有一种方法可以同时做到这一点?
如果您在删除关联之前销毁与用户有关系的文章会发生什么?
delete
和之间有一些区别destroy
。
删除方法本质上是删除一行..就是这样..
另一方面,destroy
允许您有更多选择:
所以,而不是
user.articles.delete(article)
您可以使用
user.articles.destroy(article)
这样,您将防止数据库上出现任何孤立行。