Rails - 生成" flash"像来自控制器的模态

时间:2017-03-02 12:36:31

标签: javascript ruby-on-rails twitter-bootstrap bootstrap-modal

我很困惑如何制作一个弹出窗口(模态)来告诉用户控制器操作后发生了什么事情。这应该类似flash[:notice/alert]redirect_to中使用的render函数。

我找到了一个叫做“服务器生成 - 弹出”的宝石。但我真的不明白如何使用它或者它是否适合我的情况。

我也试过使用magnific-popup和bootstrap-popup,但他们似乎更有可能通过用户的动作生成弹出/模态(单击按钮,单击链接)。我试图通过render :template使用它们来创建一个模态,但没有运气。

我想要做的事情与flash[:notice/alert]完全相同,但将其替换为不需要用户输入的模态。我该怎么办?我的想法是:

  1. add_flash_types :modal

  2. 创建新的Flash类型
  3. 用一些代码替换它的行为来引导模态(应该比华丽的弹出窗口更容易吗?)

  4. renderredirect_to

  5. 中调用它

    但是如何做第二步?

    感谢。

1 个答案:

答案 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")