【发布时间】:2017-09-06 21:31:57
【问题描述】:
我有一个名为 name_translations 的带有 hstore 列的表,其中包含很多翻译:
{ 'en' => 'En name', 'es' => 'Es name', ... }
它也在模型store_accessor :name_translations中序列化
我需要在 name_translations hstore 中获取 id 和 ru 密钥。我试过Model.select("id, name_translations -> 'ru'"),这是一个查询AR生成Model Load (0.6ms) SELECT id, name_translations -> 'ru' FROM "models",但输出只有ID:
[#<Model id: 95>,
#<Model id: 101>,
...
目前我停在一个有点难看的代码上:
Model.pluck(:id, :name_translations).map { |id, name| [id, name['ru']] }
有什么办法让它变得更好?
【问题讨论】:
-
您目前拥有的更好的 IMO。
-
@Зелёный 好吧,您的示例有效,但为什么我在 AR 输出中看不到
something?它仍然只有 ids
标签: ruby-on-rails ruby-on-rails-4 activerecord hstore