Weapon.includes(:zombie).where("zombies.name = ?", "jack")
Это вернет коллекцию, поэтому, если вы хотите только первый, добавьте .first
к этому запросу.
Итак, в заключение: include выполнит объединение, но также будет держать за столомвключены, так что вы можете ссылаться на него в предложении where.