Идеальный способ создать панель инструментов Rails с гибкими виджетами - PullRequest
3 голосов
/ 11 марта 2012

Я боролся с правильным способом разработки модели / контроллера Rails для панели мониторинга / портала, который может поддерживать простую / понятную разработку виджетов. Я уже (в качестве отвлечения) написал базовое представление jQuery / jQuery-UI / CSS, в котором проработан HTML-код столбца / порядка и элементы управления для изменения порядка / минимизации / удаления виджетов, и теперь я возвращаюсь к тому, как лучше разработать модель и контроллер.

Как центральное место для поиска всей информации о виджетах, у меня есть модель виджетов. (пока что не ActiveRecord) В идеале я хотел бы, чтобы представление индекса виджетов просто получало виджеты из контроллера, а модель содержала бы атрибуты виджета, необходимые для визуализации представления. Это будет включать атрибуты виджета «частичный» и «контроллер», которые представление может использовать для отображения частичного представления определенного виджета в моем представлении панели мониторинга.

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

Widget Controller Index --> render @widgets --> widget1 widdget1_controller/partial view1
                                        \ \->   widget2 widdget2_controller/partial view2
                                         \-->   widget3 widdget3_controller/partial view3

Модель панели мониторинга будет содержать столбец, порядок, частичное представление, контроллер.

Частичные виды и контроллеры, специфичные для виджета, будут располагаться в подпапках папок контроллеров и видов / виджетов, чтобы обеспечить чистоту.

Надеюсь, это поможет при попытке добавить поддержку AJAX. Каждый контроллер виджета может обрабатывать свои собственные действия контроллера (например, редактирование виджета или сохранение чего-либо), и я могу заставить клиентский браузер выполнять вызовы AJAX для частичного для получения обновленной информации без необходимости вызова исходного контроллера виджета и т. Д. *

Что вы, ребята, думаете? У вас есть лучшее предложение?

Ответы [ 2 ]

2 голосов
/ 07 сентября 2012

Это может быть слишком поздно, но в ячейках есть расширение под названием Apotomo , которое в основном расширяет ячейки действиями и ajax для создания маленьких виджетов. Это довольно круто, и у них есть учебники по выполнению всего того, о чем вы говорите. Если это слишком поздно, я думаю, было бы довольно просто перенести код ваших ячеек на виджеты, так как они очень похожи.

1 голос
/ 12 марта 2012

Я думаю Клетки - это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...