У меня есть следующая ассоциация в моей модели User:
has_and_belongs_to_many :friends, :class_name => 'User', :foreign_key => 'friend_id'
У меня есть следующее ограничение уникальности в моей таблице user_users:
UNIQUE KEY `no_duplicate_friends` (`user_id`,`friend_id`)
В моем коде я получаю друзей пользователя -> friends = user.friends. друзья это массив.
У меня есть сценарий, в котором я хочу добавить пользователя со всеми этими друзьями в массив друзей. Пример:
friends << user
Однако я получаю следующую ошибку:
ActiveRecord::StatementInvalid: Mysql::Error: Duplicate entry '18-18' for key 'no_duplicate_friends': INSERT INTO `users_users` (`friend_id`, `user_id`) VALUES (18, 18)
Что дает?