Вот ассоциации и соответствующие зависимости и валидация
Модель поста: Post has_many: post_tags Пост has_many: теги: through =>: post_tags
Модель тега: validates:content,: uniqueness => true
проблема заключается в следующем: когда я хочу назначить тег для сообщения (т.е. post.tags << new_tag), операция завершается неудачей, если тег с таким же содержимым уже существуетв базе данных из-за сбоя проверки уникальности. </p>
желаемое поведение будет следующим: при назначении нового тега для публикации - если тег уже существует, не пытайтесь создать новый тег, а толькосоздать отношение post_tag.Это позволит избежать ошибки проверки уникальности, но при этом назначить тег для сообщения
- , если тег не существует, а затем создать новый тег и отношение post_tag.
Каким будет чистый способ сделать это?Спасибо,
-ps Два метода, которые я размышляю, делают создание ассоциации вручную, т.е. не используют функцию вложенных атрибутов.Или переопределив метод AvtiveRecords 'autosave_associated_records_for_tags' в модели UserPost, который обрабатывает автосохранение связанных моделей (в данном случае тегов), и изменив его, чтобы выполнить проверку на наличие тега перед попыткой сохранить его