我很困惑如何制作一个弹出窗口(模态)来告诉用户控制器操作后发生了什么事情。这应该类似flash[:notice/alert]
或redirect_to
中使用的render
函数。
我找到了一个叫做“服务器生成 - 弹出”的宝石。但我真的不明白如何使用它或者它是否适合我的情况。
我也试过使用magnific-popup和bootstrap-popup,但他们似乎更有可能通过用户的动作生成弹出/模态(单击按钮,单击链接)。我试图通过render :template
使用它们来创建一个模态,但没有运气。
我想要做的事情与flash[:notice/alert]
完全相同,但将其替换为不需要用户输入的模态。我该怎么办?我的想法是:
按add_flash_types :modal
用一些代码替换它的行为来引导模态(应该比华丽的弹出窗口更容易吗?)
在render
或redirect_to
但是如何做第二步?
感谢。
答案 0 :(得分:1)
你能尝试吗
render js: 'alert("popup")'
这样您就可以从服务器触发模态弹出窗口
另一种方法是自己渲染闪光灯。在您的应用程序布局中,您可以执行以下操作:
<% flash.each do |k, v| %>
<% if k == :mocal_alert %>
<script>alert("popup");</script>
<% else %>
<# how ever you are rendering the default flashes %>
<div id="<%= k %>"><%= v %></div>
<% end %>
<% end %>
显然用更好的东西替换alert("popup")
。