Meat_search в ActiveAdmin не работает, если пользователь выбирает дату и время в качестве критерия поиска
Когда вы заходите на свою страницу администратора, фильтр поиска используется для возврата результатов, ожидаемых для выбранных дат.
filter :hash_key
filter :serial_number
filter :partner
filter :created_at
Я внес изменения в таблицы, например, добавил еще несколько столбцов. Теперь все фильтры поиска работают нормально, кроме фильтра:
создан в
Когда дата выбрана, она отражается на странице, но это же значение не передается на сервер. Обычно в рабочем состоянии запрос будет выглядеть следующим образом: http:/admin/entitlements?utf8=%E2%9C%93&q%5Bcreated_at_gte%5D=2016-02-10&commit=Filter&order=id_desc
Но в данном случае запрос формируется следующим образом: http:/admin/entitlements?utf8=%E2%9C%93&q%5Bhash_key_contains%5D=&q%5Bserial_number_contains%5D=&q%5Bpartner_id_eq%5D=&commit=Filter&order=id_desc
Здесь не будет ввода даты.
Я использую версию: activeadmin (0.5.1) meta_search (1.1.3)
Если я установил дату вручную, отредактировав его источник HTML, он начнет работать, но после сброса он не будет работать.
1 ответ
Обнаружена проблема с совместимостью с jQuery 1.9.
нам нужно отредактировать следующий файл:app / assets / javascripts / active_admin / pages / application.js.coffee и # Форма фильтра: не отправляйте пустые входные данные, замените это:
$(@).find(':input[value=""]').attr 'disabled', 'disabled'
с
$(@).find(':input').filter(-> @value is '').prop 'disabled', true
Вы также можете изменить файл gem.lock для загрузки этой ревизии, добавив следующую строку:
remote: https://github.com/gregbell/active_admin.git
revision: 606b88afa99ac6255a07bf68f55336e302327083
Это сработало для меня.