более одной записи, сохраненной на ассоциативных рельсах has_one

Я пытаюсь создать ассоциацию has_one между двумя моделями.

class User < ActiveRecord::Base
  has_one :emergency_contact
end

class EmergencyContact < ActiveRecord::Base
  belongs_to :user
end

когда я пытаюсь протестировать его через консоль rails, для модели экстренного контакта для одного пользователя сохраняется более одной записи. Хотя, когда я получаю его с помощью User.emergency_contact, возвращается только первая запись. При сохранении, как я могу сделать откат для более чем одной записи


person Abhishek Rai    schedule 28.03.2014    source источник
comment
Поделитесь своим кодом, который вы написали в консоли rails, который генерирует две записи вместо одной ??   -  person Abubakar    schedule 28.03.2014


Ответы (1)


Вы можете просто проверить уникальность столбца user_id в EmergencyContact:

class EmergencyContact < ActiveRecord::Base
  belongs_to :user
  validates_uniqueness_of :user_id, allow_nil: true
end
person Marek Lipka    schedule 28.03.2014