Това не е проблем с ActiveRecord или AREL, просто така работи чувствителността към главни и малки букви в SQL и PostgreSQL.
Идентификаторите в SQL (като имена на таблици и колони) са нечувствителни към главни и малки букви, освен ако не са цитирани. Стандартният SQL казва, че идентификаторите без кавички са сгънати в главни букви, PostgreSQL ги сгъва в малки букви, следователно bar.maxusers
в съобщението за грешка.
Решението е да цитирате обидното име на колона:
.having('COUNT(foo.id) > bar."maxUsers"')
Обърнете внимание, че трябва да използвате двойни кавички за кавиране на идентификатора, тъй като единичните кавички са само за низови литерали. Също така имайте предвид, че цитирането на идентификатора е специфично за базата данни:стандартните SQL и PostgreSQL използват двойни кавички, MySQL използва обратни отметки, SQL Server използва скоби, ...