Postgres:hstore и first_or_create
Я использую Single Table Inheritance используя :hstore
как указано здесь: http://www.devmynd.com/blog/2013-3-single-table-inheritance-hstore-lovely-combination (в основном, все атрибуты модели наследования хранятся в таблице:hstore)
Предположим, у меня есть класс Person, который наследует Entity, и что имя :hstore
Таблица, содержащая информацию, относящуюся к Персоне, называется "информация". Следующее работает отлично:
Person.create(name: 'TestUser', info: {"gender" => "male"})
Но следующее терпит неудачу:
Person.where(name: 'TestUser', info: {"gender" => "male"}).first_or_create
Ошибка вызвана следующей инструкцией SQL
SELECT "parties".* FROM "parties" WHERE "parties"."type" IN ('Person') AND "parties"."name" = 'Daniel' AND "information"."gender" = 'male'
с ошибкой
missing FROM-clause entry for table "info"
Кто-нибудь знает, есть ли решение для этого? Есть ли другой метод, который я должен использовать? Прямо сейчас я использую поиск, а затем создаю отдельно, что нормально (всего несколько строк для записи).
Спасибо!