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"

Кто-нибудь знает, есть ли решение для этого? Есть ли другой метод, который я должен использовать? Прямо сейчас я использую поиск, а затем создаю отдельно, что нормально (всего несколько строк для записи).

Спасибо!

0 ответов

Другие вопросы по тегам