因此,我和我的团队正在开发这个应用程序,在这个应用程序中,我们使用DataTables jQuery插件(http://datatables.net/)显示Rails (3.0.7)后端提供的表格数据。
我们在datatable的内置、AJAX搜索和排序功能与Rails的I18n支持之间的交互中遇到了问题。一些列显示来自数据库的配置数据(在种子文件中创建),但由于它是一个固定的数据集,因此是国际化的。当用户尝试搜索或排序时,我们应该在可见的i18n‘’ed字符串上执行这些操作。但是,由于搜索和排序是委托给后端的,控制器将对字符串的内部版本而不是用户可见的字符串执行所需的查询,这将导致错误的结果。
我们首先想到的解决方案是使用控制器来:
但这对服务器来说太苛刻了。我们考虑的另一个选项是在具有i18n值的表中包含必需的I18ns,但这破坏了应用程序的关注点分离。因此,我们不知道应该采用什么样的机制来实现这一特性。有人能帮我们吗?
发布于 2011-05-31 18:43:25
我们有一个类似的问题:我们必须维护一个包含艺术品名称的db表。有时,艺术品在其他语言中有不同的名称。为了使这些同义词(我们最终称之为)可以搜索,我们将它们插入到同义词表中。这可能不是你的案子的解决方案。
看看雪貂宝石,它提供了索引的红宝石代码。您可以简单地在规则的间隔内重新构建这个索引,并包含翻译。这样,您的控制器就可以轻松地搜索它们,并且不会破坏关注点的分离,因为它只是数据的另一个表示。
https://stackoverflow.com/questions/6189340
复制相似问题