我在Ruby on Rails应用程序中使用ruby gem Globalize进行翻译。我有一个模型Region
,我正在翻译name
列。使用ActiveRecord查询区域表时,例如:
Region.where(name: 'translated')
正确返回翻译名称为translated
的区域记录。
但是,当我查询时:
Region.where('name like ?', 'translated')
它返回一个空的ActiveRecord_Relation。似乎查询SQL字符串直接访问数据库记录而不使用Globalize gem。
如何执行将检索已翻译记录的like
个查询?
(我正在使用Globalize 5.0.0和Rails 4.2.8)
答案 0 :(得分:0)
你可以这样做:
for
通过这种方式,您可以访问Globalize gem的翻译表。
答案 1 :(得分:0)
我为我工作的解决方案是:
Region.with_translations(I18n.locale).where('region_translations.name like ?', "translated")
这会加入region_translations.region_id = regions.id上的region_translations表,其中I18n.locale = region_translations.locale