rails уникальность проверки на стороне клиента для логического значения в базе данных mysql - PullRequest
0 голосов
/ 05 марта 2012

Я использую уникальность client_side_validation для столбца с именем «user_name» с областью «customer_id» и «active».Я просто хочу выдать ошибку, если имя пользователя уже существует в таблице, только если идентификатор клиента присутствует, а активный столбец - true, и разрешить, если имя пользователя, если активный столбец - false. Кто-нибудь, помогите мне.

1 Ответ

0 голосов
/ 05 марта 2012

Может быть, это поможет:

class User < ActiveRecord::Base

  scope :with_customer_id_and_active, where("customer_id IS NOT NULL AND active = 1")

  validates :check_uniq_only_with_customer_id_and_active

  def check_uniq_only_with_customer_id_and_active

    if with_customer_id_and_active.where(:user_name => name).count > 0
      errors.add(:user_name, "user name should be uniq for active users")
    end

  end

end
...