Проверка вложенных ресурсов - PullRequest
1 голос
/ 26 июля 2011

У меня есть форма Rails, в которой сообщается о пользователе и навыках пользователя (связь многих со многими), поэтому я использую ресурс accept_nested в форме
Все работает хорошо, у пользователя есть возможность создать новый навык и присоединиться к нему.
Проблема в том, что если навык с таким именем уже существует, я не хочу, чтобы был создан еще один навык с тем же именем, я просто хочу ассоциацию с пользователем и уже существующим навыком.
Должен ли я оставить подход с вложенными ресурсами и выполнить некоторые элементы управления в контроллере, чтобы выбрать, создавать или просто ассоциировать навык?
Tnx

1 Ответ

0 голосов
/ 28 июля 2011

Вы можете использовать метод Rails find_or_create_by, чтобы найти или создать навык по любым выбранным вами критериям.Затем добавьте это в коллекцию навыков пользователя.Я не знаю, как выглядит ваш код, но что-то вроде этого:

@skill = Skill.find_or_create_by_name(params[:skill][:name])
@user.skills << @skill
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...