获取Rails 3中的验证规则列表?

时间:2012-01-05 19:12:57

标签: ruby-on-rails ruby-on-rails-3 activerecord

我需要从我的Rails应用程序中的Model中获取验证规则列表。我一直在搜索并查看了一些客户端验证宝石的来源,但我仍然在摸索如何做到这一点。是否有一种简单的方法可以从Rails模型中提取验证规则列表?

我的具体用例是创建一个API,其中新项目的输入表单将从模型定义中自动生成,我需要能够表达哪些字段是必需的,最大长度等。我已经有了字段来自columns方法的类型和长度,但似乎没有任何类型的类似validations方法返回我需要的内容(主要是validates强制执行的必填字段validates_presence_of等。)。

1 个答案:

答案 0 :(得分:18)

查看#validators#validators_on方法:

http://api.rubyonrails.org/classes/ActiveModel/Validations/ClassMethods.html

您必须编写一些对返回的对象进行操作的自定义代码,并确定哪些属性是必需的,即哪些属性具有validates_presence_of