Ruby on rails 如何使用ActiveRecord提取hstore密钥

Ruby on rails 如何使用ActiveRecord提取hstore密钥,ruby-on-rails,ruby-on-rails-4,activerecord,hstore,Ruby On Rails,Ruby On Rails 4,Activerecord,Hstore,我有一个名为name_translations的hstore列的表,其中包含大量翻译: { 'en' => 'En name', 'es' => 'Es name', ... } 它也在模型存储中序列化了\u访问器:name\u translations 我需要在名称中获取id和ru密钥。我尝试了Model.selectid,name\u translations->“ru”,下面是一个查询AR从模型生成模型加载0.6ms SELECT id,name\u translations

我有一个名为name_translations的hstore列的表,其中包含大量翻译:

{ 'en' => 'En name', 'es' => 'Es name', ... }
它也在模型存储中序列化了\u访问器:name\u translations

我需要在名称中获取id和ru密钥。我尝试了Model.selectid,name\u translations->“ru”,下面是一个查询AR从模型生成模型加载0.6ms SELECT id,name\u translations->“ru”,但输出只有id:

[#<Model id: 95>,
 #<Model id: 101>,
...
有什么更好的方法吗?

您可以在select查询中使用as,例如:

=> result = Model.select("id, name_translations -> 'ru' as something")
=> result.first.something
但输出只有ID:

[


这就是AR的工作原理,如果您使用的是动态属性,它就不会显示在输出中,因为它不是一个真实的列,它是一个别名。

您当前拥有的更好。@cfёёчччч好,您的示例工作正常,但为什么我在AR输出中看不到某些内容?它仍然是唯一idsI停止使用Pulk Model.PulkID,name\u translations的版本->“ru”是一个词,谢谢!
=> result = Model.select("id, name_translations -> 'ru' as something")
=> result.first.something