Toto není problém ActiveRecord nebo AREL, takhle funguje rozlišování malých a velkých písmen v SQL a PostgreSQL.
Identifikátory v SQL (jako jsou názvy tabulek a sloupců) nerozlišují malá a velká písmena, pokud nejsou uvedeny v uvozovkách. Standardní SQL říká, že identifikátory bez uvozovek jsou složeny na velká písmena, PostgreSQL je složí na malá písmena, proto bar.maxusers
v chybové zprávě.
Řešením je uvést problematický název sloupce:
.having('COUNT(foo.id) > bar."maxUsers"')
Všimněte si, že pro citování identifikátoru musíte použít dvojité uvozovky, protože jednoduché uvozovky jsou pouze pro řetězcové literály. Všimněte si také, že citování identifikátorů je specifické pro databázi:standardní SQL a PostgreSQL používají dvojité uvozovky, MySQL používá zpětné zaškrtnutí, SQL Server používá závorky, ...