鉴于“Rails Way”似乎不使用外键约束,我正在寻找一种替代方案,它允许我在将对象保存在 TableB 中之前验证外键引用的行确实存在于 TableA 中与 table_a_id。
到目前为止,我发现的唯一可以做到这一点的资源(找不到它提到的博客文章的链接,日期为 2007 年)似乎与 Rails 3.2 不兼容,所以任何人都可以建议一种方法做这个?
我目前正在考虑创建一个验证器来手动分配给模型中的相关属性,但我无法弄清楚如何使用 validate_each(object, attribute, value) 来完成此操作。
只需像下面这样使用,
validates :user, presence: true
它会自动检查数据库中是否存在用户记录。
参考自活动记录验证 -presence https://guides.rubyonrails.org/active_record_validations.html#presence:
如果您想确保关联存在,您需要
测试关联对象本身是否存在,而不是
外键用于映射关联。这样一来,不仅
检查外键不为空,而且还检查引用的
对象存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)