Итак, моя команда и я работаем над этим приложением, где мы используем плагин DataTables jQuery (http://datatables.net/)) для представления табличных данных, предоставляемых нашим бэкэндом Rails (3.0.7).
У нас возникла проблема с взаимодействием встроенных функций поиска и сортировки AJAX таблицы данных и поддержки Rails I18n. Некоторые из столбцов представляют данные конфигурации, которые поступают из базы данных (созданной в начальном файле), но являются интернационализированными, поскольку это фиксированный набор данных. Когда пользователь пытается выполнить поиск или сортировку, мы должны выполнить эти операции над видимыми I18-ными строками. Но так как поиск и сортировка делегированы бэкэнду, контроллер будет выполнять необходимые запросы по внутренним версиям строк, а не по видимым для пользователя, что приведет к ошибочным результатам.
Первым решением, о котором мы думали, было использование контроллера для:
- выполнять запросы к БД без каких-либо критериев и сохранять результаты;
- I18n требуемых значений в наборе результатов;
- затем сортируйте / фильтруйте результаты.
Но это было бы слишком требовательно для сервера. Другой вариант, который мы рассмотрели, включал необходимые таблицы I18ns в таблицы, которые имеют значения, способные поддерживать I18n, но это нарушает разделение задач приложения. Поэтому мы не знаем, какой механизм нам следует использовать для реализации этой функции. Кто-нибудь может нам помочь?