Получить проверочные имена полей - PullRequest
0 голосов
/ 29 мая 2011

Я использую Ruby on Rails 3, и я хотел бы получить проверяющие имена полей.То есть я определил некоторую проверку для класса и хотел бы узнать, какие поля (их имена) являются кандидатами для проверки при отправке формы.

Мне это нужно, потому что я хотел бы «поиграть» с классоматрибуты ошибки (<name_class>.errors).

Как это сделать?

1 Ответ

2 голосов
/ 29 мая 2011

Вы можете получить доступ к методу validators вашей модели.Это вернет массив валидаторов для вашей модели.

Например, если у вас было это:

class User < ActiveRecord::Base
  validates :name, :presence => true
  validates :email, :uniqueness => true
end

Тогда вы можете получить доступ к валидаторам, как это:

User.validators
# => [#<ActiveModel::Validations::PresenceValidator:0x123456 @attributes=[:name], @options={}>....]
User.validators.first.attributes
# => [:name]
User.validators.first.class
# => ActiveModel::Validations::PresenceValidator
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...