Como usar ANY em vez de IN em uma cláusula WHERE com Rails?

Eu costumava ter uma consulta como:

MyModel.where(id: ids)

O que gera consulta sql como:

SELECT "my_models".* FROM "my_models"
WHERE  "my_models"."id" IN (1, 28, 7, 8, 12)

Agora eu quero mudar isso para usarANY ao invés deIN. Eu criei isso:

MyModel.where("id = ANY(VALUES(#{ids.join '),('}))"

Agora, quando eu uso matriz vaziaids = [] Eu recebo o seguinte erro:

MyModel Load (53.0ms)  SELECT "my_models".* FROM "my_models"  WHERE (id = ANY(VALUES()))
ActiveRecord::JDBCError: org.postgresql.util.PSQLException: ERROR: syntax error at or near ")"
ActiveRecord::StatementInvalid: ActiveRecord::JDBCError: org.postgresql.util.PSQLException: ERROR: syntax error at or near ")"
Position: 75: SELECT "social_messages".* FROM "social_messages"  WHERE (id = ANY(VALUES()))
    from arjdbc/jdbc/RubyJdbcConnection.java:838:in `execute_query'

questionAnswers(1)

yourAnswerToTheQuestion