使用AJAX作为数据源时,用DataTables搜索/排序I18n字符串的推荐方法是什么?

问题描述

| 因此,我和我的团队正在研究此应用程序,在这里我们使用DataTables jQuery插件(http://datatables.net/)来显示由Rails(3.0.7)后端提供的表格数据。 数据表的内置AJAX搜索和排序功能以及Rails的I18n支持之间的交互作用存在问题。其中一些列显示来自数据库的配置数据(在种子文件中创建),但是由于其是固定数据集而已国际化。当用户尝试搜索或排序时,我们应该对可见的I18n字符串进行这些操作。但是,由于搜索和排序都委托给后端,因此控制器将对字符串的内部版本(而不是用户可见的字符串)执行所需的查询,这将导致错误的结果。 我们首先想到的解决方案是使用控制器执行以下操作: 无条件地执行数据库查询并存储结果; 在结果集中需要的值; 然后对结果进行排序/过滤。 但这对服务器要求太高。我们考虑的另一种选择是在表中包括具有I18n允许值的必需I18ns,但这打破了应用程序的关注点分离。因此,我们对于采用哪种机制来实现此功能感到困惑。谁能帮助我们?     

解决方法

        我们有一个类似的问题:我们必须维护带有图稿名称的数据库表。有时,艺术品在其他语言中有不同的名称。为了使那些(我们最终称呼它们)同义词是可搜索的,我们将它们插入到同义词表中。这可能不是您的情况的解决方案。 看一下提供红宝石代码索引的雪貂宝石。您可以简单地按固定的时间间隔重建此索引并包含翻译。这样,您的控制器就可以轻松地搜索它们,并且不会破坏关注点分离,因为它只是数据的另一种表示形式。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...