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