Как мне указать ActiveScaffold, чтобы форма поиска всегда отображалась в виде списка?

StackOverflow https://stackoverflow.com/questions/354976

  •  21-08-2019
  •  | 
  •  

Вопрос

В представлении списка ActiveScaffold есть форма поиска, которая загружается через ajax, когда пользователь нажимает на ссылку поиска.Я бы предпочел, чтобы форма отображалась по умолчанию, когда пользователь открывает страницу списка.

Я придумал способ запускать вызов ajax при загрузке страницы, но мне интересно, есть ли способ заставить ActiveScaffold автоматически отображать форму.Есть ли шаблон или метод, который я могу переопределить?Я просмотрел код, но там нет ничего очевидного, по крайней мере для меня.

Обновить:

ответ србоисверта вдохновил меня присмотреться получше.

Хитрость заключается в том, чтобы использовать переопределения шаблонов для рефакторинга следующего:list.rhtml, _list_header.rhtml, _search.rhtml, чтобы форма поиска частично отображалась встроенной.

Это было полезно?

Решение

Есть способ сделать так, чтобы это отображалось автоматически:

active_scaffold :модель do |config| config.list.always_show_search = true завершение

Другие советы

В настоящее время у меня нет под рукой активного проекта scaffold, но вот как бы я это выяснил.

Я бы использовал firefox с установленным firebug и взглянул на то, что вызывается при нажатии на ссылку.Затем я бы пошел посмотреть на этот javascript и на то, что он генерирует.Затем я бы искал в источнике любую часть кода или комбинацию, которая была бы достаточно уникальной для окна поиска ajax.После этого его должно быть легко разрезать и вставить внутрь без комочков.

Возможность

config.list.always_show_search = true

работает нормально, но только на конкретном контроллере.Он выдает исключение при использовании в блоке AS set_default.Кто-нибудь знает лучшее решение, чем включать его в каждый контроллер (помимо переопределения шаблона, что удобно, но усложняет обновление версии)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top