flash[:通知]在redirect_to从HTTP更改为HTTPS时不起作用,反之亦然



当用户登录到系统时,它是https

然后它转到主页,它是http

在登录期间,根据某些条件,我们会使用flash[:notice]向用户提供一些消息

但是flash[:notice]不起作用。

ssl未实现时,flash[:notice]工作正常。

httphttp页面redirectionflash[:notice]完美运行。

我们还实施了

flash.keep

redirect_to path_to_path, :flash=>{:notice=>"our message"}

但他们都失败了。

如果有人遇到过这种情况,请提出建议。

flash消息是使用服务器会话实现的。但是,根据服务器和配置,会话不会在 http 和 https 会话之间共享。换句话说,如果从 http 切换到 https,反之亦然,服务器将创建两个不同的用户会话。

您可以通过打印出会话 ID 并比较它是否相同来检查这一点。

可以通过在表示消息的查询字符串中传递参数(例如redirect_to path_to_path(message: 1))来解决此问题,然后在操作检查中(如果存在参数),则在视图中打印出消息(将在视图中编码)。

在我们的应用程序中,有两个重定向。

在登录后的第一次重定向中,我们转到创建闪存消息的主页。

在第二个重定向协议中,主页的协议已更改。

我在两次重定向中都使用了flash.keep

现在flash[:notice]一切都完美运行。

相关内容

最新更新