Ini bukan masalah ActiveRecord atau AREL, ini adalah cara kerja sensitivitas huruf besar-kecil di SQL dan PostgreSQL.
Pengidentifikasi dalam SQL (seperti nama tabel dan kolom) tidak peka huruf besar-kecil kecuali jika dikutip. SQL standar mengatakan bahwa pengidentifikasi yang tidak dikutip dilipat menjadi huruf besar, PostgreSQL melipatnya menjadi huruf kecil, maka bar.maxusers
dalam pesan kesalahan.
Solusinya adalah mengutip nama kolom yang menyinggung:
.having('COUNT(foo.id) > bar."maxUsers"')
Perhatikan bahwa Anda harus menggunakan tanda kutip ganda untuk mengutip pengenal karena tanda kutip tunggal hanya untuk literal string. Perhatikan juga bahwa kutipan pengenal adalah khusus basis data:SQL standar dan PostgreSQL menggunakan tanda kutip ganda, MySQL menggunakan tanda centang balik, SQL Server menggunakan tanda kurung, ...