У меня есть таблица пользователей, которая имеет и принадлежит многим инструментам.Фильтрация Rails имеет и принадлежит ко многим базам данных
поэтому каждый пользователь может иметь столько инструментов, сколько захочет, и инструменты могут быть связаны с пользователем.
то, что я пытаюсь сделать, - это создать систему фильтров, чтобы на моей главной странице люди могли щелкнуть набор инструментов и отображать только тех пользователей, которые имеют связь с этими инструментами.
поэтому она должна навевает только пользователи, у которых есть все навыки, кто-то выбранным, например, кто-то, кто имеет Git и Jira, не GIT или JIRA
я могу сделать это для одного инструмента с помощью
if params["Confluence"]
contractors = contractors.includes(:tools).where(tools: { name: "Confluence" })
end
я судимый делать что-то вроде этого
contractors = contractors.includes(:tools).where(tools: { name: "Confluence" , name: "Git", name: "JIRA Core" , name:"JIRA Software"})
но это только возвращает пользователь с последним инструментом в списке. Я также пробовал вот так
if params["JIRA Core"]
contractors = contractors.includes(:tools).where(tools: {name: "JIRA Core"})
end
if params["JIRA Software"]
contractors = contractors.includes(:tools).where(tools: {name: "JIRA Software"})
end
однако это также не работает. у кого есть идеи?
contractors.joins (инструменты): .где ('tools.name =?', "JIRA Core") –