0

有没有办法为没有确认登录的用户加载视图?默认行为是显示一条通知:“您必须在继续之前确认您的帐户。”

我试过了

  • 否决用于设计检查 current_user.confirmed_at.blank 的 session#create 方法?
  • 在 after_singin_path 检查 current_user.confirmed_at.blank?而是渲染视图

我的目标是呈现自定义视图而不是通知,但无法挂接到正确的位置。谁知道如何做到这一点?谢谢!

4

2 回答 2

1

我喜欢解决这个问题的 ruby​​ 方法,我猜在您的 UsersController 中,在 POST 请求之后,用户将被返回并使用 Devise 提供的 sign_in(Object) 助手登录。

我还建议使用确认的布尔值而不是时间戳。

为什么不使用红宝石方式使用 if else 语句检查值:

user.confirmed ? sign_in(user) : render :partial => 'path/partial'

希望这可以帮助你

于 2012-10-19T10:00:30.957 回答
1

您可以简单地从设计 github 复制代码并将其放入您的控制器/设计中。然后更改您想要的任何操作或方法。

您也可以扩展设计会话控制器并覆盖您想要的任何操作。

class Abc < Devise::SessionsController
 # this just reopens the class.
 # Remember classes are never "closed" in ruby!
end
于 2012-10-19T09:13:39.840 回答