javascript - Rails - 从 Controller 生成类似模态的 "flash"

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

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

我发现了一个名为“服务器生成的弹出窗口”的 gem ,但我不太明白如何使用它或它是否适合我的情况。

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

我想要做的实际上与flash[:notice/alert]相同,但将其替换为不需要用户输入的模式。我应该怎么办?我的想法是:

  1. 通过 add_flash_types :modal 创建新的 Flash 类型

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

  3. renderredirect_to 中调用它

但是第二步该怎么做呢?

谢谢。

最佳答案

你能尝试一下吗

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

关于javascript - Rails - 从 Controller 生成类似模态的 "flash",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42555726/

相关文章:

c# - 增加文本框大小 Bootstrap (ASP.NET MVC)

html - 多个 CSS 文件不起作用

javascript - 结合过滤器和包含过滤多个值

php - 使用 Facebook API 和 PHP SDK 创建排行榜

ruby-on-rails - 在 Rails 3.1 生产模式中找不到预编译的 CSS

ruby-on-rails - bundler 可以将 gem 安装限制在某个操作系统上吗?

twitter-bootstrap - 分组 ng-repeat 项目

javascript - webpack 找不到 bundle.js

javascript - Redux - 使用 getState 是否不优雅或效率低下?

ruby-on-rails - 从 Rails 3 项目的 lib 目录中访问模型