目前 devise & Rails 3 有一个一页用户编辑页面:/users/edit
我想将其分成几个部分以获得更好的用户界面,例如:
/account/settings
/account/password
/account/notices
/account/disable
另外,当用户想要更改密码时,我想要求用户输入当前密码。
使用 devise,为了实现这一点,是否需要一个新的控制器,或者这一切都可以通过路由来处理吗?
此外,目前,编辑页面位于此处:app/views/devise/registrations
您建议在那里添加这些页面吗?或者在 /app/views/users 中?
Thanks
您在这里有多种选择。我会选择第一个选项,因为它似乎更自然地适合您想要做的事情。
-
通过继承来覆盖设备的注册控制器,并更新相应的视图和路由。这是设计的site对此说道:
配置控制器
如果在视图上进行自定义
等级不够,可以自定义
每个控制器都遵循这些
脚步:
1)创建您的自定义控制器,用于
例如 Admins::SessionsController:
类 Admins::SessionsController
2)告诉路由器使用这个
控制器:
devise_for :admins, :controllers => { :sessions => "admins/sessions" }
3)自从我们改变了
控制器,它不会使用
“设计/会话”视图,所以请记住
将“设备/会话”复制到
“管理/会话”。
请记住 Devise 使用闪存
通知用户是否登录的消息
是成功还是失败。设计
期望您的应用程序调用
“flash[:notice]”和“flash[:alert]”
作为适当的。
使用用户控制器并在其中添加具有相应视图的操作(不是我的选择)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)