Учитывая модель Обеда, у которой есть много Овощных моделей, я предпочел бы, чтобы
dinner.vegetables << carrot
не добавлять морковь, если
dinner.vegetables.exists? carrot
Тем не менее, это так. Он будет добавлять дубликаты записи каждый раз, когда << вызывается. </p>
Существует опция: uniq, которую вы можете установить для ассоциации, но она только ВЫБИРАЕТ И ВОЗВРАЩАЕТ один результат, если есть кратные значения, она НЕ УКАЗЫВАЕТ уникальные значения.
Я могу проверить, существует ли? каждый раз, когда я добавляю объект obj в коллекцию, но это утомительно и подвержено ошибкам.
Как я могу использовать << свободно и не беспокоиться об ошибках и не проверять уже существующие члены коллекции каждый раз? </p>