Search 在Rails上搜索I18n yml文件

Search 在Rails上搜索I18n yml文件,search,ruby-on-rails-3.2,rails-i18n,Search,Ruby On Rails 3.2,Rails I18n,我正在使用Rails 3.2和I18n进行翻译。我为我的客户提供了搜索功能,但在某些情况下,他们想要搜索的是我的翻译文件,而不是数据库 一个很好的例子是国家,我希望用户用自己的语言查看国家名称。我有一个en.yml、fr.yml、gr.yml、etc文件,其中包含用户可用的所有国家/地区,他们需要能够搜索(以当前语言) 有没有一个简单的方法可以做到这一点?(另一种选择是将国家放在一张表格中,除非我别无选择,否则我希望避免这样做)你的问题太广泛了。它没有描述你使用的是什么样的数据库以及你的搜索是如

我正在使用Rails 3.2和I18n进行翻译。我为我的客户提供了搜索功能,但在某些情况下,他们想要搜索的是我的翻译文件,而不是数据库

一个很好的例子是国家,我希望用户用自己的语言查看国家名称。我有一个en.yml、fr.yml、gr.yml、etc文件,其中包含用户可用的所有国家/地区,他们需要能够搜索(以当前语言)


有没有一个简单的方法可以做到这一点?(另一种选择是将国家放在一张表格中,除非我别无选择,否则我希望避免这样做)

你的问题太广泛了。它没有描述你使用的是什么样的数据库以及你的搜索是如何工作的。我猜这个数据库是不相关的(它是MySQL)。至于它是如何工作的,我认为这也无关紧要。我有一个搜索词,我想知道以逻辑方式搜索yml翻译文件内容的最快、最简单的方法。而且,我不想把它局限于我所做的事情。如果有人有不同于我的好方法,那么我会相应地修改代码。有些人使用lucene之类的全文搜索索引,有些人使用postgres之类的dbs全文功能。我不认为这部分无关紧要。所以从你的评论来看,我猜你有一个非常基本的搜索,它使用
之类的
查询或类似的东西。好吧,把所有的东西都放进数据库,有什么问题吗?@phoet好的,现在我明白你的意思了。是的,我目前正在使用LIKE。目前我在yml文件中有一大堆翻译,从逻辑上讲,国家的名称取决于翻译,我把它们作为yml文件,带有两个字母的ISO代码,并把ISO代码作为数据库中的一个键。我可以把它们放在数据库中,或者用Ruby解析它们。