ruby-on-rails - Rails turbolinks 5 Flash消息

标签 ruby-on-rails flash-message turbolinks-5

我正在尝试找到一种在使用Turbolinks 5时处理Rails(v4.1)Flash消息的方法。

我尝试将data-temporary="true"添加到每个Flash消息div中,然后添加类似以下内容:

$(document).on('turbolinks:before-cache', function () {
  $('[data-temporary]').remove();
});

因此旧的Flash消息不会被缓存,并且下次用户访问同一页面时不会显示。

但是,这使我在使用flash.now的页面上遇到了问题,因为在这些页面上,闪存已从缓存版本中删除,但随后turbolinks刷新了服务器中的内容,然后出现了flash.now消息,这有点令人讨厌从用户的角度来看。

我四处张望,找不到任何闪光来表明它们是否是.now,因此data-temporary只能应用于临时代码。

我正在尝试使用Turbolink,而不是禁用其功能。

我正在尝试找到一种方法来删除闪烁的before-cache,但如果它们是flash.now类型,则不会。

有什么建议么?

最佳答案

用不同的符号发送flash.now怎么办,以便您可以将它们与需要删除的对象区分开来。例如

flash.now[:dont_remove_me_please] = "Could not save client"

这样您就可以检查“类型”,并将其从删除中排除。

关于ruby-on-rails - Rails turbolinks 5 Flash消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42542471/

相关文章:

ruby-on-rails-5 - 如何使用 Rails 5 将回复呈现给 Turbolinks 5

ruby-on-rails - 基于 url 查询的页面,谷歌会索引它们吗?

ruby-on-rails - 如何使用带有参数的 Rails 命名路由助手?

forms - 翻译Flash消息

javascript - Flash 消息无法正常工作 express/nodejs/ejs

javascript - 防止谷歌地图使用涡轮链接多次加载

ruby-on-rails - 如何以敏捷的方式部署 Web 应用程序

ruby-on-rails - 可能发生 sprockets rails gem 问题?

javascript - 返回 [object Object] 的闪存消息(Node Express Passport)

javascript - turbolinks :load event not firing on remote true call, rails ,jquery