рельсы 3 найти или создать на основе нескольких полей - PullRequest
5 голосов
/ 20 января 2011

Я пытаюсь реализовать простую систему тегов, используя виртуальный атрибут тега для объекта заметок.тег содержит метку и идентификатор пользователя.то, что я хотел бы сделать, это обновить HABTM для связи с заметкой на основе того, что находится в поле тегов.Я знаю о методах find_or_create_by_X, есть ли что-то похожее, что я могу сделать с 2 полями, то есть, если метка и user_id уникальны, создайте новый тег, иначе получите тег, где метка и идентификатор пользователя совпадают.Также существует ли аналогичный способ обработки удаления тегов?

1 Ответ

11 голосов
/ 20 января 2011

Вы можете связать поля вместе, используя _and_:

Tag.find_or_create_by_label_and_user_id(label_param, user_id_param)
...