gpt4 book ai didi

ruby-on-rails - Devise 3.5.x on Rails 4.2.x 超时在超时闪烁消息下方打印 "true"

转载 作者:数据小太阳 更新时间:2023-10-29 07:33:47 25 4
gpt4 key购买 nike

我们在 Rails 4.2 项目的 Devise 3.5.x 上设置了“timeoutable”选项。当用户因不活动而超时时,他们将被重定向到登录页面并打印以下 flash 消息:

Your session expired. Please sign in again to continue.
true

“您的 session 已过期...”闪现消息下方不受欢迎的“真”似乎是我们的闪现部分的结果:

<% flash.each do |key, value| %>
<% if !value.to_s.empty? %>
<%= content_tag(:div, value, :class => "flash #{key}") %>
<% end %>
<% end %>

我们注意到这可能不是遍历 flash 消息的最佳方式。每当我们手动设置 flash 消息时,我们总是使用 flash[:notice] 或 flash.now[:notice](在渲染时)。有没有更好的方法来迭代我们部分中的 flash 消息,从而消除 Devise 超时时的补充“真实”输出?如果是这样,由于我们不确定 Devise 等各种 gem 可能使用的 flash 消息的“类型”,我们应该检查哪些 flash 类型([:notice]、[:error]、[:warning])并迭代?

否则,由于站点范围内的所有其他 flash 消息都正常工作,是否有任何已知方法可以简单地阻止 Devise 在超时时打印此补充“true”?

最佳答案

我知道这是一个迟到的回复,但这是我所做的。

flash.each do |msg_type, message|
unless msg_type.to_s == 'timedout'
<!-- Carry on printing messages -->

关于ruby-on-rails - Devise 3.5.x on Rails 4.2.x 超时在超时闪烁消息下方打印 "true",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com