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)
, но я все еще получаю пустые результаты...
1 ответ
Может быть, есть более элегантное решение, но так как кажется, что name
является внедренным документом, вам нужно сопоставить его с каждым языком:
term = 'Computer Software'
Foo.or({ :'name.en' => term }, { :'name.fr' => term })