gpt4 book ai didi

ruby-on-rails - 将数据库约束转换为 Rails 验证

转载 作者:行者123 更新时间:2023-12-04 05:58:03 25 4
gpt4 key购买 nike

在 Rails 应用程序中,列名、类型和默认值是直接从数据库推断出来的。有没有办法从初始化时或尝试保存时的数据库约束中推断验证?

这将允许更多的 DRYness,并确保所有数据都可以在命中 DB 并获得异常之前进行软验证,因为验证将涵盖所有数据库约束。数据库的约束是使用时数据无效信息的权威来源。

或者,是否可以制作 ActiveRecord从遇到数据库约束中拯救出来,并表现得好像弱验证失败了?这意味着可以在外部操作数据库约束而无需重新启动或编辑 Rails 应用程序,性能将得到提高,因为唯一性验证不需要单独的查询,而且唯一性验证将不受竞争条件的影响。

最佳答案

您可以使用 Enforce Schema Rules gem:

https://github.com/twinge/enforce_schema_rules

它根据您已在架构中创建的数据库规则验证您的模型。

例子:

class Person < ActiveRecord::Base
enforce_schema_rules :except => :dhh
end

关于ruby-on-rails - 将数据库约束转换为 Rails 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17839312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com