Для начала давайте очистим ваш первый запрос:
@permissions = Permission.where(['user_id >= ?', 21])
Это меньше вводит в заблуждение насчет того, что на самом деле хранит @permissions
.Далее, помните, что это массив, и в следующем запросе вы говорите «где project_id - список объектов разрешений ruby», и это не делает правильный запрос.
Вы можете получитьинформация, которую вы хотите, хотя.Во-первых, используйте метод ruby array.map
, чтобы просмотреть все разрешения и собрать их project_id:
@project_ids = @permissions.map(&:project_id)
Теперь вы можете указать базе данных захватить все журналы аудита, где в списке находится project_id:
@audit_logs = AuditLog.where(['project_id in (?)', @project_ids])
Это должно дать вам то, что вам нужно.Дайте мне знать, если у вас есть какие-либо вопросы.