ruby-on-rails - Mongoid find_by 本地化字段的任何语言
问题描述
使用 Mongoid / MongoDB,我怎样才能找到一个文档,其名称以任何一种可用语言匹配我的 where 查询?
假设我有一个具有本地化字段和许多翻译的模型
class Foo
field :name, localize: true
end
Foo.create(name_translations: {
'fr' => 'Ingénierie logicielle',
'en' => 'Computer Software'
})
该.find_by(name: )
方法似乎只能找到I18n.current
语言(在我的情况下是法语),我如何搜索所有翻译?
我正在尝试几种变体Foo.find_by(name_translations: 'Computer Software)
,但我仍然得到空的结果......
解决方案
也许有一个更优雅的解决方案,但由于它似乎name
是一个嵌入式文档,您需要匹配每种语言:
term = 'Computer Software'
Foo.or({ :'name.en' => term }, { :'name.fr' => term })
推荐阅读
- scala - 如何配置 logback 以获得好的 akka-http logRequest 事件日志
- visual-studio - 如何将 Nuget 包添加到 Visual Studio 扩展中的项目?
- xml - 用于查找字符串并在 xml 中的 2 行之后插入的 Shell 脚本
- html - Vue / Vuetify:获取 v-flex 的尺寸
- python - 在python中将重音字符转换为unicode代码
- excel - 如何按多个工作中心分配生产百分比?
- c - C - 尝试将堆栈顶部放入 Char 数组的分段错误
- javascript - 在编码参数中解码 url (returnUrl)
- javascript - JEST - 为什么要模拟 api 调用?
- wordpress - 在 Digital Ocean 服务器上使用无头 WordPress 设置 nuxt 前端时遇到问题