Как проверить уникальность в Rails 3 Model, если я хочу проверить, есть ли комбинация из 2 полей? - PullRequest
15 голосов
/ 31 марта 2011

Я хочу знать, есть ли способ в Rails 3, в котором я могу проверить уникальность двух полей, которые идут в комбинации.

Логика идет следующим образом:

Iиметь два поля employee_code и date_entry.

  • Случай 1: Если комбинация employee_code и date_entry уже существует, она не позволит сохранить другую запись с таким жеemployee_code и date_entry.

  • Случай 2: Если employee_code и date_entry существуют, но не в одной записи, это позволит сохранить поле.

Ответы [ 2 ]

35 голосов
/ 31 марта 2011
validates_uniqueness_of :employee_code, :scope => [:date_entry]

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

validates_uniqueness_of :employee_code, :scope => [:date_entry, :another_column]

или Рельсы 3:

validates :employee_code, :uniqueness => {:scope => :date_entry}
13 голосов
/ 20 апреля 2011

Это для Rails 3:

Чтобы сделать это всего с 2 столбцами, вы можете просто сделать что-то вроде:

validates: empcode,: uniqueness => {: scope=>: date_entry}

Для более чем 2 столбцов вы можете сделать что-то вроде:

validates: empcode,: uniqueness => {: scope => [: date_entry,: описание]}

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