Ruby on rails 在活动记录轨道上查找哈希属性值

Ruby on rails 在活动记录轨道上查找哈希属性值,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在用RubyonRail开发应用程序。在我当前的项目中,我有一个活动记录模型,如下所示: <Site id: 6241, collection_id: 7, name: "ABC", properties: {"31"=>20}> <Site id: 6242, collection_id: 7, name: "ABC", properties: {"10"=>20}> <Site id: 6243, collection_id: 7, name:

我正在用RubyonRail开发应用程序。在我当前的项目中,我有一个活动记录模型,如下所示:

<Site id: 6241, collection_id: 7, name: "ABC", properties: {"31"=>20}>
<Site id: 6242, collection_id: 7, name: "ABC", properties: {"10"=>20}>
<Site id: 6243, collection_id: 7, name: "ABC", properties: {"11"=>30}>
20}>
20}>
30}>

但是,我想找到具有键为“31”且值为20的属性的站点,但我找不到比较此哈希属性的方法。那么您有什么方法可以向我推荐吗?

如果列类型
hstore
和db
postgres
您可以通过以下查询进行搜索:

Site.where("properties @> hstore(?, ?)", 'key', 'value')

我也使用mysql,这将起作用:
Site.where(属性:{“31”=>20}.to_yaml)

同样假设您的列类型是hstore,您可以:

Site.where(属性:{key:“value”})

column type
properties
hstore
?是的,它存储为散列。我现在正在使用MYSQL,我尝试了这个命令,但它不起作用。