Postgres:hstore和first_or_create

时间:2014-05-03 17:01:08

标签: postgresql hstore ruby-on-rails-4.1

我使用:hstore使用单表继承,如下所述:http://www.devmynd.com/blog/2013-3-single-table-inheritance-hstore-lovely-combination(基本上,继承模型的所有属性都存储在:hstore表中)

假设我有一个继承实体的类Person,并且包含与Person相关的信息的:hstore表的名称被称为' info'。以下工作正常:

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"

有人知道是否有解决方法吗?我应该使用另一种方法吗?现在我使用find然后单独创建,这很好(只需要写几行)。

谢谢!

0 个答案:

没有答案