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

时间:2010-11-04 22:24:59

标签: ruby-on-rails ruby-on-rails-3 devise

目前正在设计& rails 3有一个用户编辑页面:/ users / edit

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

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

此外,我还要求用户在用户想要更改密码时输入当前密码。

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

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

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

由于

1 个答案:

答案 0 :(得分:15)

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

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

      

    配置控制器

         

    如果在视图中进行自定义   级别不够,可以自定义   每个控制器都遵循这些   步骤进行:

         

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

         

    class Admins :: SessionsController<设计:: SessionsController    端

         

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

         

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

         

    3)因为我们改变了   控制器,它不会使用   “设计/会议”观点,所以请记住   将“设计/会话”复制到   “管理员/会话”。

         

    请记住,Devise使用flash   用户可以在登录时知道的消息   成功或失败。设计   希望你的应用程序打电话   “flash [:notice]”和“flash [:alert]”   酌情。

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