我正在使用Ruby on Rails,我有一个带有许多不同必填字段的模型。有没有一种方法可以只检索必需字段的列表?我不相信ModelName.validators可以工作,因为我只需要必需的字段。我也试过ModelName.column_names,但它给了我所有的字段。
z4iuyo4d1#
ModelName.validators似乎在过滤presence验证器的返回列表时工作:
ModelName.validators
presence
ModelName. validators. grep(ActiveRecord::Validations::PresenceValidator). # only `presence` flat_map(&:attributes) # only their attribute names
a14dhokn2#
如何在Rails中获取模型中的必填字段列表?您可以通过拨打电话获得:
# Refactor if needed Model.validators.select{ |v| v.instance_of?(ActiveRecord::Validations::PresenceValidator) }.map{ |v| v.attributes }.flatten
2条答案
按热度按时间z4iuyo4d1#
ModelName.validators
似乎在过滤presence
验证器的返回列表时工作:a14dhokn2#
如何在Rails中获取模型中的必填字段列表?
您可以通过拨打电话获得: