【发布时间】:2020-09-08 01:40:56
【问题描述】:
我对 ruby on rails 完全陌生。请帮助我解决以下用例。
默认情况下,在 application.html.erb 中将 flash 消息配置为超时并在几秒钟内淡出
<div id="message" class="modal alert alert-error fade clear" data-alert="alert">
<%= flash[:notice] %>
</div>
设置 flash 超时时间的 Javascript 代码:
var showFlashMsg = function(){
<%if flash[:notice].nil?%>
return false;
<%else%>
return true;
<%end%>}
if(showFlashMsg()){
window.setTimeout(function () {
showMsg();
}, 100);
window.setTimeout(function () {
closeMsg();
}, 500);
}
showMsg() 和 closeMsg() 包含 #message.show() 和 #message.hide() 函数。
但我试图通过使特定的闪光警报消息用户可关闭(即,将关闭按钮添加到闪光警报)来覆盖上述行为。 - 以防在我提交特定表单时触发闪光消息.
所以在这种情况下,我需要通过添加关闭按钮并删除这些闪存的 closeMsg() 超时来覆盖为闪存设置的默认行为。除了显示表单提交响应的 flash 消息外,所有其他由 同一控制器和同一操作触发的 flash 消息都应遵循上述在几秒钟内淡出的行为。
请给我一些关于如何使用 javascript 和 rails 为特定的表单提交响应自定义 flash 消息的建议?
提前致谢!!!
【问题讨论】:
-
我已经成功使用了 toastr 库medium.com/@shilpikayal/toastr-js-with-rails-5-b7677bd56b52
标签: javascript jquery ruby-on-rails