3

所以,我刚刚发现 Rails 不支持关于外键的参照完整性这一事实,我感到相当惊讶。那么,管理此问题的最佳方法是什么?是否有处理参照完整性的“rails”方式?

理想情况下,应用程序不必处理所有这些;分贝应该。我在看像外国人这样的插件。我想知道这种方法是否有一些缺点。这通常在 Rails 中如何处理?

4

2 回答 2

6

这是 Rails ActiveRecord 的设计决策。

我认为存储过程和约束是连贯性的卑鄙和鲁莽的破坏者。不,数据库先生,你不能拥有我的业务逻辑。你的程序野心不会结出果实,你将不得不从我死去的、冰冷的面向对象的手中撬开这个逻辑。

选择单层聪明——DHH

所以答案是数据库处理的参照完整性根本不是 Rails 的方式。

于 2010-08-09T09:43:25.840 回答
1

您可以通过使用提供程序引用完整性

,:dependent => :restrict

在你的 has_one 和 has_many 语句上!

描述这一点以及如何在错误发生之前检查的博客

相关的 Active Record 文档

于 2012-10-11T16:16:07.660 回答