3

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

假设我有一个继承 Entity 的 Person 类,并且:hstore包含与 Person 相关的信息的表的名称称为“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 然后分别创建,这很好(只需多写几行)。

谢谢!

4

0 回答 0