У меня есть три таблицы: проекты, технологии и проекты_технологии (сопоставление идентификаторов проектов с идентификаторами технологий). У меня есть две модели: проекты и технологии. Проекты имеют и принадлежат многим (HABTM) технологиям и наоборот. Теперь я пытаюсь получить все имена (или активные записи, если есть способ сделать это) технологий, принадлежащих данному проекту. Вот оператор SQL, который я сделал, используя 5 в качестве данного идентификатора проекта:
SELECT name FROM technologies WHERE id IN (
SELECT projects_technologies.technology_id FROM projects_technologies
WHERE projects_technologies.project_id = 5
);
Я мог бы просто подключиться к базе данных и выполнить запрос, но, поскольку у меня уже есть модели, настроенные с отношениями HABTM, мне интересно, есть ли «способ Rails» для выполнения этого. Я просматривал эту документацию, http://guides.rubyonrails.org/active_record_querying.html, но я не могу понять, могу ли я применить это к такого рода запросам и как.
ОБНОВЛЕНИЕ
Оказывается, все, что мне было нужно, это:
Project.find(5).technologies
Technology.joins(:projects).where('projects.id = ? ',5).select('technologies.name')
попробуй это - person Vrushali Pawar   schedule 08.06.2015