2014-05-13 3 views
0

Я разрабатываю приложение Rails с помощью ActiveScaffold.Диапазон поиска ActiveScaffold

Дело в том, что мне нужно отфильтровать список результатов по диапазону дат.

(SQL эквивалент 'МЕЖДУ? И?)

Я знаю, что ActiveScaffold имеет функцию, которая уже делает это, но он имеет слишком много вариантов. (Прошлое, будущее, Диапазон, =, ...., Между). В этом случае мне нужен только параметр «Между» в этом комбо.

Я попытался переопределить поле с помощью Помощника, но ближе всего я должен был отобразить 3 разных комбо (один на год, один на месяц, один на день).

Есть ли способ переопределить Active Scaffold, чтобы отображать только параметр «Между»?

EDIT Active Scaffold уже выполняет поиск хорошо. Я пытаюсь изменить визуальную часть, поэтому она не отображает так много параметров.

EDIT 2 Плагины календаря для рельсов датируются 2009 годом или они не находятся под техническим обслуживанием.

ответ

1

Вы можете использовать диапазон в качестве параметра в AR.

Model.where(:date => from..to) 

Кроме того, я не уверен, что ActiveScaffold имеет к этому какое-то отношение. Как правило, все задачи, подобные этому, могут быть полностью решены в пределах обычного ActiveRecord.

EDIT: Как выясняется, автору также необходимо получить вход пользователя для границ. Это общая задача, которая может быть решена с помощью одного из плагинов youhands js для datepickers. Я бы порекомендовал вам не придерживаться ActiveScaffold для этой цели. Попробуйте это просто Jquery datepicker, и оно превратит нормальное текстовое поле в этот раскрывающийся календарь. Тогда вам понадобятся только несколько строк javascript. Если вам нужно дополнительно посоветовать, просто спросите.

+0

Спасибо за ваш ответ. К сожалению, моя проблема - визуальная проблема. ActiveScaffold действительно хорошо фильтрует, но как он отображает, это моя проблема. В идеале мне нужно будет отобразить двух финалистов. – Wiggin

+0

Итак, тогда мы сталкиваемся с двумя выделенными задачами: один для фактического _выбора_записей и еще один для получения пользовательского ввода. Мой ответ касается только первого. Теперь я обновлю ответ. –

+0

Спасибо, что указали мне в jQuery datepicker, это было именно то, что мне нужно для текстовых полей. Отметьте свой ответ как правильный. – Wiggin

Смежные вопросы