使用Mongoid / MongoDB,如何查找可用语言名称与查询位置匹配的文档?
假设我有一个具有本地化字段和许多翻译的模型
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)
的几种变体,但我仍然得到空洞的结果......
答案 0 :(得分:1)
也许有更优雅的解决方案,但由于name
似乎是一个嵌入式文档,因此您需要针对每种语言进行匹配:
term = 'Computer Software'
Foo.or({ :'name.en' => term }, { :'name.fr' => term })