1

当已确认的用户尝试重新发送确认时,我想显示一条错误消息。这是设计已经提供的东西还是我必须覆盖他们的一些方法?如果有,有哪些方法?

4

2 回答 2

1

我通过覆盖 confimations 控制器的创建操作来完成这项工作

def create
    self.resource = resource_class.send_confirmation_instructions(resource_params)

    if successfully_sent?(resource)
      flash[:notice] = "Confirmed already, Please try signing in" if resource.confirmed?
      respond_with({}, :location => after_resending_confirmation_instructions_path_for(resource_name))
    else
      respond_with(resource)
    end
  end

在确认用户的情况下,我只是覆盖了 Flash 通知

于 2013-07-09T20:48:51.813 回答
0

您要决定的第一件事是您是否真的想为已确认的用户发送消息。这可能允许用户枚举(即让机器人尝试在您的站点上查找用户的电子邮件......这就是为什么会有偏执模式

如果您确实想显示确认消息,则无需覆盖控制器。您的用户已经在资源中出现错误,例如:“已确认,请尝试登录”。因此,您无需为此修改闪存,您可能只想使用 devise_error_messages!(或您自己的自定义代码来显示错误内容)。

希望这可以帮助。

于 2016-01-09T14:43:46.650 回答