【问题标题】:Rails - generate "flash" like modal from controllerRails - 从控制器生成类似模式的“flash”
【发布时间】:2017-03-02 12:36:30
【问题描述】:

我对如何制作弹出窗口(模式)来告诉用户控制器操作后发生的事情感到困惑。这应该类似于在redirect_torender 中使用的flash[:notice/alert] 函数。

我找到了一个名为“server-generated-popup”的 gem,但我真的不明白如何使用它,也不知道它是否适合我的情况。

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

我想做的其实和flash[:notice/alert]一样,只是把它换成不需要用户输入的模态。我该怎么办?我的想法是:

  1. add_flash_types :modal创建新的flash类型

  2. 用一些代码替换它的行为以引导模式(应该比华丽的弹出窗口更容易?)

  3. renderredirect_to 中调用它

但是第二步怎么做呢?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    你可以试试吗

    render js: 'alert("popup")'
    

    这样你就可以从服务器触发模态弹窗

    另一种方法是自己渲染 Flash。在您的应用程序布局中,您可以执行以下操作:

    <% 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")

    【讨论】:

      猜你喜欢
      • 2015-02-05
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多