Rails3.1: опции в пользовательском валидаторе? - PullRequest
3 голосов
/ 20 октября 2011

Я написал этот пользовательский валидатор:

class SecureTokenValidator < ActiveModel::EachValidator
  def validate_each(object, attribute, value)
    Rails.logger.debug("validate_each options: #{options.inspect}")
  end
end

А вот и модель:

class User < ActiveRecord::Base
  has_secure_password

  attr_accessor :token

  validates_length_of :password, minimum: 6
  validates_uniqueness_of :email

  validates :token, secure_token: {attributes: %w(salutation first_name last_name) }
end

Но параметры не передаются валидатору, вот запись из журнала:

validate_each options: {}

Почему? Я использую Rails 3.1.1 на Ruby 1.9.2p290

1 Ответ

2 голосов
/ 21 октября 2011

Мне пришлось выбрать другое имя, чем attributes для моего варианта. Теперь он называется attribute_order и отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...