Rails - 设计 - 重定向和成功消息未出现

Posted

技术标签:

【中文标题】Rails - 设计 - 重定向和成功消息未出现【英文标题】:Rails - Devise - Redirect & Success message not occuring 【发布时间】:2015-05-29 15:09:24 【问题描述】:

我在 Rails 中成功更改了我的密码,但没有出现成功的闪烁通知(除非我刷新页面,用户不应该这样做)。这是设计问题吗?

我第一次到达时页面的状态 -

输入密码并按“更改密码”后的页面 -

刷新后的页面

【问题讨论】:

这是正常行为,如果您使用 ajax 更改密码,除非您在 javascript 文件中显示,否则在页面重新加载之前不会出现 flash 消息,我猜您正在使用 ajax 进行更改你的密码对吗?如果不这样做,是否要在重新加载页面之前显示 flash 消息?它会在页面重新加载前显示半秒 请公布您的更新密码方法 【参考方案1】:

好的,我解决了,默认的 rails 行为是转到 root_path。我添加了这段代码,很好

class PasswordsController < Devise::PasswordsController
  skip_before_filter :require_no_authentication, only: [:edit, :update]

  protected

  def after_resetting_password_path_for(resource_name)
    password_success_path
  end
end

【讨论】:

以上是关于Rails - 设计 - 重定向和成功消息未出现的主要内容,如果未能解决你的问题,请参考以下文章

在没有重定向的 Rails 控制器中发出警报

如何在 Django 2 中的 POST 方法后重定向到成功

Rails:使用 Jcrop 和回形针裁剪图像后出现重定向问题

Rails:登录或注册后设计重定向到存储位置?

Rails and Devise:成功登录后如何将用户重定向回请求的页面?

Rails 使用 https 重定向