results = Tournament.select("tournaments.id, (select count(*) from tournament_locales where locale = 'ru') locales_count").joins(:tournament_locales).where("date = ? AND locales_count > 0", date).pluck('tournaments.id')
results
Мог где-то ошибиться в коде, будут ошибки - кидайте, поправим.