我正在尝试找到一种在使用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/