gpt4 book ai didi

ruby-on-rails - 在数据库中实现 Ruby on Rails 验证规则而不是在模型文件中进行硬编码?

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

我有一个应用程序,我想在其中将所有数据库验证规则存储在数据库中,因为管理员需要能够从 GUI 更改验证规则。此外,规则预计会经常更改,因此我的要求是规则需要在数据库中。

为简单起见,假设我有一个用户模型,“名称”需要存在的验证规则。通常,你会说:

class User < ActiveRecord::Base
validates :name, presence: true
end

有什么方法可以将此规则粘贴到规则表中,查询数据库中的规则,然后让模型根据规则表中的规则进行验证?即像这样在模型文件中编写查询的简单方法?

class User < ActiveRecord::Base
Rule.first.validation
end

Rule.first.validation 的值为“validates :name, presence: true”。

谢谢。

最佳答案

这是可能的(比如使用 validateseval),但非常有限且有风险。另外,您正在将验证从可测试和部署为工作的地方转移到数据库,在那里它受制于您的系统管理员的突发奇想。我强烈建议不要以这种方式违背惯例。从长远来看,您最好频繁推出更新(并进行相应的测试)。

关于ruby-on-rails - 在数据库中实现 Ruby on Rails 验证规则而不是在模型文件中进行硬编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15867834/

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