У моей модели ActiveRecord PaperTrail::Version
есть поле с именем whodunnit
типа text
.ActiveRecord where.not в текстовом поле в PostgreSQL
Я хочу сделать where.not
запрос на этом поле:
PaperTrail::Version.where.not(:whodunnit => 4)
Это прекрасно работает на SQLite, но если не будет работать на PostgreSQL:
2014-12-04T07:21:42.484139+00:00 app[web.1]: ActionView::Template::Error (PG::UndefinedFunction: ERROR: operator does not exist: character varying <> integer
2014-12-04T07:21:42.484142+00:00 app[web.1]: LINE 1: ....("versions"."whodunnit" != 4) ORD...
Как я должен изменить свой запрос, чтобы заставить его работать в обеих базах данных?
Это версия 9.3.3 (на Heroku) – fiddler
Да, просто измените 4 на '4' (или 4.to_s, как сказал khampson), и он должен работать. –