mongoid проверка уникальности отношения «многие ко многим» - PullRequest
3 голосов
/ 09 сентября 2010

У меня есть следующая ассоциация

class Employee
  include Mongoid::Document
  employee_id :name
 references_many :companies, stored_as => :array, :inverse_of => :employees
end

class Company
  include Mongoid::Document
  field :name
 references_many :employees, stored_as => :array, :inverse_of => :companies
end

Теперь Как я могу проверить уникальность employee_id сотрудника в пределах одного company

1 Ответ

0 голосов
/ 05 ноября 2010

Привет, Гаган.Во-первых, эту строку в модели вашего сотрудника необходимо исправить:

employee_id :name

Для проверки вы должны быть в состоянии сделать это:

class Employee
  include Mongoid::Document

  field :employee_id, :type => Integer

  references_many :companies, :stored_as => :array, :inverse_of => :employees

  validates_uniqueness_of :employee_id
end

Вы можете легко проверить это, как это:

>> e = Employee.create :employee_id => 10
 => #

>> Employee.new(:employee_id => 10).valid?
 => false
...