Devise - настройка пользовательских страниц редактирования

в настоящее время с devise и rails 3 есть страница редактирования страницы на одну страницу:/users/edit

Я хотел бы разделить это на разделы для лучшего пользовательского интерфейса, что-то вроде:

/account/settings
/account/password
/account/notices
/account/disable

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

С разработкой, чтобы это произошло, для этого требуется новый контроллер, или все это можно обрабатывать с помощью маршрутов?

Кроме того, в настоящее время здесь находится страница редактирования: app/views/devise/registrations

Вы рекомендуете добавлять сюда эти страницы? Или в /app/views/users?

Спасибо

Ответы

Ответ 1

Здесь у вас несколько вариантов. Я бы пошел с первым вариантом, поскольку он, кажется, более естественно подходит к тому, что вы пытаетесь сделать.

  • Переопределите контроллер регистрации регистрации, наследуя его, и обновите соответствующие представления и маршруты. Вот что описывает сайт:

    Конфигурирование контроллеров

    Если настройка в представлениях уровня недостаточно, вы можете настроить каждый контроллер, следуя этим шаги:

    1) Создайте свой пользовательский контроллер для пример Админы:: SessionController:

    класс Админы:: SessionController < Разрабатывают:: SessionsController  конец

    2) Скажите маршрутизатору использовать это Контроллер:

    devise_for: admins,: controllerlers = > {: sessions = > "admins/sessions" }

    3) И так как мы изменили контроллер, он не будет использовать "изобретать/сеансы", так что помните скопировать "разработать/сеансы" на "Администратор/сессия".

    Помните, что Devise использует flash сообщения, чтобы пользователи знали, есть ли вход был успешным или неудачным. разрабатывать ожидает, что ваше приложение будет звонить "flash [: notice]" и "flash [: alert]" при необходимости.

  • Используйте пользовательский контроллер и добавьте туда действия с соответствующими представлениями (не мой выбор)