设计 – 自定义用户编辑页面
目前使用devise&rails 3,有一个用户编辑页面:/ users / edit
我想将其拆分为更好的用户界面,例如:
/account/settings /account/password /account/notices /account/disable
另外,当用户想要更改密码时,我想要求用户输入他们当前的密码。
有了设计,为了实现这一点,这需要一个新的控制器,还是可以用路由处理?
此外,目前,编辑页面位于此处:app / views / devise / registrations
你建议在那里添加这些页面吗? 或者在/ app / views / users中?
谢谢
你有多种选择。 我会选择第一个选项,因为它似乎更适合你想做的事情。
-
通过inheritance来覆盖devise的注册控制器,并更新相应的视图和路由。 以下是设计网站对此的说法:
配置控制器
如果视图级别的自定义不够,您可以按照以下步骤自定义每个控制器:
1)创建自定义控制器,例如Admins :: SessionsController:
class Admins :: SessionsController
2)告诉路由器使用此控制器:
devise_for:admins,:controllers => {:sessions =>“admins / sessions”}
3)由于我们更改了控制器,因此不会使用“设计/会话”视图,因此请记住将“设计/会话”复制到“管理员/会话”。
请记住,Devise使用Flash消息让用户知道登录是成功还是失败。 Devise希望您的应用程序根据需要调用“flash [:notice]”和“flash [:alert]”。
-
使用用户控制器并在那里添加相应视图的操作(不是我的选择)