设计 – 自定义用户编辑页面

目前使用devise&rails 3,有一个用户编辑页面:/ users / edit

我想将其拆分为更好的用户界面,例如:

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

另外,当用户想要更改密码时,我想要求用户输入他们当前的密码。

有了设计,为了实现这一点,这需要一个新的控制器,还是可以用路由处理?

此外,目前,编辑页面位于此处:app / views / devise / registrations

你建议在那里添加这些页面吗? 或者在/ app / views / users中?

谢谢

你有多种选择。 我会选择第一个选项,因为它似乎更适合你想做的事情。

  1. 通过inheritance来覆盖devise的注册控制器,并更新相应的视图和路由。 以下是设计网站对此的说法:

    配置控制器

    如果视图级别的自定义不够,您可以按照以下步骤自定义每个控制器:

    1)创建自定义控制器,例如Admins :: SessionsController:

    class Admins :: SessionsController

    2)告诉路由器使用此控制器:

    devise_for:admins,:controllers => {:sessions =>“admins / sessions”}

    3)由于我们更改了控制器,因此不会使用“设计/会话”视图,因此请记住将“设计/会话”复制到“管理员/会话”。

    请记住,Devise使用Flash消息让用户知道登录是成功还是失败。 Devise希望您的应用程序根据需要调用“flash [:notice]”和“flash [:alert]”。

  2. 使用用户控制器并在那里添加相应视图的操作(不是我的选择)