我正在使用单表继承,: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 然后分别创建,这很好(只需多写几行)。
谢谢!