【问题标题】:devise - Customizing the User Edit Pages设计 - 自定义用户编辑页面
【发布时间】:2011-05-05 08:35:01
【问题描述】:

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

我想把它分成几个部分以获得更好的用户界面,例如:

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

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

使用 devise 来实现这一点,是否需要一个新的控制器,或者这一切都可以通过路由来处理?

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

您是否建议在此处添加这些页面?还是在 /app/views/users 中?

谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

      配置控制器

      如果自定义视图 等级不够,可以自定义 每个控制器按照这些 步骤:

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

      类 Admins::SessionsController

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

      devise_for :admins, :controllers => { :sessions => "admins/sessions" }

      3) 既然我们改变了 控制器,它不会使用 “设计/会话”视图,所以请记住 将“设计/会话”复制到 “管理员/会话”。

      请记住,Devise 使用闪存 让用户知道是否登录的消息 成功或失败。设计 期望您的应用程序调用 “flash[:notice]”和“flash[:alert]” 视情况而定。

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

    【讨论】:

      猜你喜欢
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 2018-05-15
      相关资源
      最近更新 更多