加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails 4.2.x上设计3.5.x超时在超时flash消息

发布时间:2020-12-17 02:24:26 所属栏目:百科 来源:网络整理
导读:我们在Rails 4.2项目的Devise 3.5.x上设置了“超时”选项.当用户因不活动而超时时,会将其重定向到登录页面并打印以下Flash消息: Your session expired. Please sign in again to continue.true “你的会话过期…”闪光信息下面的不受欢迎的“真实”似乎是我
我们在Rails 4.2项目的Devise 3.5.x上设置了“超时”选项.当用户因不活动而超时时,会将其重定向到登录页面并打印以下Flash消息:

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

“你的会话过期…”闪光信息下面的不受欢迎的“真实”似乎是我们闪光部分的结果:

<% 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超时中的这个补充“true”输出?如果是这样,因为我们不确定像Devise这样的各种宝石可能正在使用什么类型的闪存消息,我们应该检查所有闪存类型([:通知],[:错误],[:警告])并迭代?

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读