Панель управления веб-приложением Rails с вкладками ajax и валидацией - PullRequest
0 голосов
/ 21 апреля 2009

Я собираюсь создать веб-приложение rails с панелью управления администратора. Я хотел бы, чтобы панель управления использовала интерфейс с вкладками для управления пользователями, проектами, задачами и т. Д., И я хотел бы переключаться между вкладками с помощью элементов управления пользовательского интерфейса вкладки jquery с помощью ajax. Также используется спокойная аутентификация для пользователей и мой собственный код для проектов, задач и т. Д.

Вот что я не могу обернуть вокруг себя. Обычно у меня был бы контроллер для каждой вкладки, поэтому проверка проста, если есть ошибка (скажем, в пользователе), я просто отображаю правильное действие с объектом и его ошибками, и мы настроены. Однако, если я не обновляю (для разных контроллеров между вкладками), как это работает? Нужно ли иметь один массивный контроллер со всеми пользователями, проектами, валидацией задач и элементами управления (т. Е. Грубыми операциями)? Похоже, не самый лучший дизайн.

Или есть какой-то способ, которым я могу использовать контроллер 'admin', который включает в себя отдельные контроллеры для правильной проверки ошибок и т. Д.

Надеюсь, это имеет смысл?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2009

Я бы сделал так, чтобы содержимое каждой вкладки вызывалось отдельным запросом ajax. Это даст вам следующие преимущества

  • Теперь каждая вкладка может легко быть различным видом / контроллером
  • Вам нужно только загрузить содержимое вкладки, когда она используется; Вы не будете обрабатывать код / ​​загружать html для вкладок, которые пользователь не использует.

Если вы не хотите использовать этот маршрут (то есть вы чувствуете, что вам нужно загрузить все содержимое вкладок при загрузке страницы в одном запросе), вы можете выделить код, используя вспомогательные методы и партиалы. Смотрите мой ответ здесь: Суб-контроллеры Rails?

0 голосов
/ 21 апреля 2009

Я бы лично использовал встроенную проверку в формах. Jquery делает это довольно хорошо , но есть много библиотек, которые могут вам помочь.

Полагаю, это не совсем то, что вы искали, но это облегчит вашу работу. Конечно, все еще сохраняйте проверку в моделях, чтобы никто не мог обойти проверку (используя firebug или что-то вроде этого)

...