ruby 如何在Rails中获取模型中的必填字段列表?

9cbw7uwe  于 12个月前  发布在  Ruby
关注(0)|答案(2)|浏览(85)

我正在使用Ruby on Rails,我有一个带有许多不同必填字段的模型。有没有一种方法可以只检索必需字段的列表?我不相信ModelName.validators可以工作,因为我只需要必需的字段。我也试过ModelName.column_names,但它给了我所有的字段。

z4iuyo4d

z4iuyo4d1#

ModelName.validators似乎在过滤presence验证器的返回列表时工作:

ModelName.
  validators.                                        
  grep(ActiveRecord::Validations::PresenceValidator). # only `presence`
  flat_map(&:attributes)                              # only their attribute names
a14dhokn

a14dhokn2#

如何在Rails中获取模型中的必填字段列表?
您可以通过拨打电话获得:

# Refactor if needed
Model.validators.select{ |v| v.instance_of?(ActiveRecord::Validations::PresenceValidator) }.map{ |v| v.attributes }.flatten

相关问题