The story is that I have two models Survey & Email Template as defined
When I’m calling
survey.email_templates, it fails, and I have the
ActiveRecord::StatementInvalid: PG::UndefinedFunction: ERROR: operator
does not exist: character varying = integer
LINE 1: …M “email_templates” WHERE “email_templates”.“survey_id” = 1
HINT: No operator matches the given name and argument type(s). You
need to add explicit type casts.
: SELECT “email_templates”.* FROM “email_templates” WHERE
“email_templates”.“survey_id” = 1
I’m not sure whether I should treat it as a rails bug, and that rails
should quote this integer, or not. I could look further into AR, if you
feel, that this case should be handled. Otherwise, I’ll be looking for a
different solution for this challenge.
Also, I may mention source of this issue. Earlier our app was on
EngineYard, where we had custom casting for this, so whenever there was
integer, it was casted into a string. Then we moved to RDS AWS, and
unfortunately there we can’t create castings. I dropped all of them, and
found this case. So I thought that it might be treated as a rails bug.