ruby-on-rails – 在Rails 4.2.x上设计3.5.x超时在超时flash消息下打印“true”

ruby-on-rails – 在Rails 4.2.x上设计3.5.x超时在超时flash消息下打印“true”,第1张

概述我们在Rails 4.2项目的Devise 3.5.x上设置了“超时”选项.当用户因不活动而超时时,会将其重定向到登录页面并打印以下Flash消息: Your session expired. Please sign in again to continue.true “你的会话过期…”闪光信息下面的不受欢迎的“真实”似乎是我们闪光部分的结果: <% flash.each do |key, va 我们在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 -->
总结

以上是内存溢出为你收集整理的ruby-on-rails – 在Rails 4.2.x上设计3.5.x超时在超时flash消息下打印“true”全部内容,希望文章能够帮你解决ruby-on-rails – 在Rails 4.2.x上设计3.5.x超时在超时flash消息下打印“true”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1276645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存