gpt4 book ai didi

ruby-on-rails - Globalize3 订单记录按翻译属性并考虑回退

转载 作者:行者123 更新时间:2023-12-03 18:14:55 25 4
gpt4 key购买 nike

我在使用令人敬畏的 Globalize3 gem 时遇到了麻烦。现在我有两种语言:en 和 :ru。并且 :ru 回到 :en 像这样

#/config/initializers/globalize.rb
Globalize.fallbacks = {:ru => [:ru, :en]}

在我的 Controller 中,我试图通过名称翻译或翻译后备值对整个翻译记录集合进行排序。但是 with_translations()好像不给我这样的机会!
Country.with_translations(:ru).order('country_translations.name ASC')
#this filters out those who have no :ru translations (BUT THEY SHOLD USE FALLBACKS!)

所以要检索所有记录,我可以传递一组语言环境:
Country.with_translations([:ru, :en]).order('country_translations.name ASC')
#but this completely ruins the sorting order (DAMN NOTHING IS SORTED)

我想要的唯一简单的事情就是得到回退和排序!所以我们需要以某种方式让所有记录仅按可用名称值排序。

有什么办法吗?

最佳答案

通过深入研究 Globalize3 源解决了这个问题。它使用 with_locales范围以获取具有适当语言环境的记录。我只需要它们:

Model.includes(:translations).
with_locales(I18n.available_locales).
order('model_translations.name ASC')

希望它会帮助某人!

关于ruby-on-rails - Globalize3 订单记录按翻译属性并考虑回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16041392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com