Если вопрос так прост, как следует из заголовка, не уверен, почему это не сработает:
Project.joins(:tasks)
Если не указано иное, объединение будет внутренним объединением и, таким образом, исключает любыерезультаты, проекты которых не имеют задач, поэтому, возможно, это все, что вам нужно ... если вы хотите отобразить все проекты с задачами.
если у вас есть какое-то условие (например, проекты,статус активен) вы также можете указать условие типа
Project.joins(:tasks).where("status = 'active')
Или я что-то пропустил?